Face Generation

In this project, you'll use generative adversarial networks to generate new images of faces.

Get the Data

You'll be using two datasets in this project:

  • MNIST
  • CelebA

Since the celebA dataset is complex and you're doing GANs in a project for the first time, we want you to test your neural network on MNIST before CelebA. Running the GANs on MNIST will allow you to see how well your model trains sooner.

If you're using FloydHub, set data_dir to "/input" and use the FloydHub data ID "R5KrjnANiKVhLWAkpXhNBe".

In [1]:
data_dir = './data'

# FloydHub - Use with data ID "R5KrjnANiKVhLWAkpXhNBe"
#data_dir = '/input'


"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import helper

helper.download_extract('mnist', data_dir)
helper.download_extract('celeba', data_dir)
Found mnist Data
Found celeba Data

Explore the Data

MNIST

As you're aware, the MNIST dataset contains images of handwritten digits. You can view the first number of examples by changing show_n_images.

In [2]:
show_n_images = 25

"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
import os
from glob import glob
from matplotlib import pyplot

mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'mnist/*.jpg'))[:show_n_images], 28, 28, 'L')
pyplot.imshow(helper.images_square_grid(mnist_images, 'L'), cmap='gray')
Out[2]:
<matplotlib.image.AxesImage at 0x116cb0160>

CelebA

The CelebFaces Attributes Dataset (CelebA) dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations. You can view the first number of examples by changing show_n_images.

In [3]:
show_n_images = 25

"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'img_align_celeba/*.jpg'))[:show_n_images], 28, 28, 'RGB')
pyplot.imshow(helper.images_square_grid(mnist_images, 'RGB'))
Out[3]:
<matplotlib.image.AxesImage at 0x11a925be0>

Preprocess the Data

Since the project's main focus is on building the GANs, we'll preprocess the data for you. The values of the MNIST and CelebA dataset will be in the range of -0.5 to 0.5 of 28x28 dimensional images. The CelebA images will be cropped to remove parts of the image that don't include a face, then resized down to 28x28.

The MNIST images are black and white images with a single color channel while the CelebA images have 3 color channels (RGB color channel).

Build the Neural Network

You'll build the components necessary to build a GANs by implementing the following functions below:

  • model_inputs
  • discriminator
  • generator
  • model_loss
  • model_opt
  • train

Check the Version of TensorFlow and Access to GPU

This will check to make sure you have the correct version of TensorFlow and access to a GPU

In [4]:
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
from distutils.version import LooseVersion
import warnings
import tensorflow as tf

# Check TensorFlow Version
assert LooseVersion(tf.__version__) >= LooseVersion('1.0'), 'Please use TensorFlow version 1.0 or newer.  You are using {}'.format(tf.__version__)
print('TensorFlow Version: {}'.format(tf.__version__))

# Check for a GPU
if not tf.test.gpu_device_name():
    warnings.warn('No GPU found. Please use a GPU to train your neural network.')
else:
    print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
TensorFlow Version: 1.0.0
/Users/tapanm01/anaconda2/envs/dog-project/lib/python3.5/site-packages/ipykernel/__main__.py:14: UserWarning: No GPU found. Please use a GPU to train your neural network.

Input

Implement the model_inputs function to create TF Placeholders for the Neural Network. It should create the following placeholders:

  • Real input images placeholder with rank 4 using image_width, image_height, and image_channels.
  • Z input placeholder with rank 2 using z_dim.
  • Learning rate placeholder with rank 0.

Return the placeholders in the following the tuple (tensor of real input images, tensor of z data)

In [5]:
import problem_unittests as tests

def model_inputs(image_width, image_height, image_channels, z_dim):
    """
    Create the model inputs
    :param image_width: The input image width
    :param image_height: The input image height
    :param image_channels: The number of image channels
    :param z_dim: The dimension of Z
    :return: Tuple of (tensor of real input images, tensor of z data, learning rate)
    """
    # TODO: Implement Function
    input_real = tf.placeholder(tf.float32, (None, image_width, image_height, image_channels), name='Real_Input')
    input_z = tf.placeholder(tf.float32, (None, z_dim), name='Z_input')
    learning_rate = tf.placeholder(tf.float32, name='Learning_Rate')

    return input_real, input_z, learning_rate

"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_inputs(model_inputs)
Tests Passed

Discriminator

Implement discriminator to create a discriminator neural network that discriminates on images. This function should be able to reuse the variables in the neural network. Use tf.variable_scope with a scope name of "discriminator" to allow the variables to be reused. The function should return a tuple of (tensor output of the discriminator, tensor logits of the discriminator).

In [15]:
def discriminator(images, reuse=False):
    """
    Create the discriminator network
    :param images: Tensor of input image(s)
    :param reuse: Boolean if the weights should be reused
    :return: Tuple of (tensor output of the discriminator, tensor logits of the discriminator)
    """
    # TODO: Implement Function
    with tf.variable_scope('discriminator', reuse=reuse):
        # Input layer is 28x28x3
        x1 = tf.layers.conv2d(images, filters=64, kernel_size=5, strides=2, padding='same', kernel_initializer=tf.contrib.layers.xavier_initializer())
        relu1 = tf.maximum(0.2 * x1, x1)
        relu1 = tf.nn.dropout(relu1,0.9)
        # 14x14x64
        
        x2 = tf.layers.conv2d(relu1, filters=128, kernel_size=5, strides=2, padding='same', kernel_initializer=tf.contrib.layers.xavier_initializer())
        bn2 = tf.layers.batch_normalization(x2, training=True)
        relu2 = tf.maximum(0.2 * bn2, bn2)
        relu2 = tf.nn.dropout(relu2,0.9)

        # 7x7x128
        
        x3 = tf.layers.conv2d(relu2, filters=256, kernel_size=5, strides=2, padding='same', kernel_initializer=tf.contrib.layers.xavier_initializer())
        bn3 = tf.layers.batch_normalization(x3, training=True)
        relu3 = tf.maximum(0.2 * bn3, bn3)
        relu3 = tf.nn.dropout(relu3,0.9)

        # 4x4x256
        
        # Flatten it
        flat = tf.reshape(relu3, (-1, 4*4*256))
        logits = tf.layers.dense(flat, 1, kernel_initializer=tf.truncated_normal_initializer(stddev=0.02))
        out = tf.sigmoid(logits)


    return out, logits


"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_discriminator(discriminator, tf)
Tests Passed

Generator

Implement generator to generate an image using z. This function should be able to reuse the variables in the neural network. Use tf.variable_scope with a scope name of "generator" to allow the variables to be reused. The function should return the generated 28 x 28 x out_channel_dim images.

In [16]:
def generator(z, out_channel_dim, is_train=True):
    """
    Create the generator network
    :param z: Input z
    :param out_channel_dim: The number of channels in the output image
    :param is_train: Boolean if generator is being used for training
    :return: The tensor output of the generator
    """
    # TODO: Implement Function
    reuse = not is_train
    with tf.variable_scope('generator', reuse=reuse):
        # First fully connected layer
        x1 = tf.layers.dense(z, 7*7*512, kernel_initializer=tf.truncated_normal_initializer(stddev=0.02))
        # Reshape it to start the convolutional stack
        x1 = tf.reshape(x1, (-1, 7, 7, 512))
        x1 = tf.layers.batch_normalization(x1, training=is_train)
        x1 = tf.maximum(0.01 * x1, x1)
        x1 = tf.nn.dropout(x1,0.9)

        # 7x7x512 now
        
        x2 = tf.layers.conv2d_transpose(x1, filters=256, kernel_size=5, strides=1, padding='same', kernel_initializer=tf.contrib.layers.xavier_initializer())
        x2 = tf.layers.batch_normalization(x2, training=is_train)
        x2 = tf.maximum(0.01 * x2, x2)
        x2 = tf.nn.dropout(x2,0.9)
        # 14x14x256 now
        
        x3 = tf.layers.conv2d_transpose(x2, filters=128, kernel_size=5, strides=2, padding='same', kernel_initializer=tf.contrib.layers.xavier_initializer())
        x3 = tf.layers.batch_normalization(x3, training=is_train)
        x3 = tf.maximum(0.01 * x3, x3)
        x3 = tf.nn.dropout(x3,0.9)
        # 28x28x128 now

        # Output layer
        logits = tf.layers.conv2d_transpose(x3, filters=out_channel_dim, kernel_size=5, strides=2, padding='same', kernel_initializer=tf.contrib.layers.xavier_initializer())
        # 28x28x3 now
        
        out = tf.tanh(logits)

    
    return out


"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_generator(generator, tf)
Tests Passed

Loss

Implement model_loss to build the GANs for training and calculate the loss. The function should return a tuple of (discriminator loss, generator loss). Use the following functions you implemented:

  • discriminator(images, reuse=False)
  • generator(z, out_channel_dim, is_train=True)
In [18]:
def model_loss(input_real, input_z, out_channel_dim):
    """
    Get the loss for the discriminator and generator
    :param input_real: Images from the real dataset
    :param input_z: Z input
    :param out_channel_dim: The number of channels in the output image
    :return: A tuple of (discriminator loss, generator loss)
    """
    # TODO: Implement Function
    g_model = generator(input_z, out_channel_dim, is_train=True)
    d_model_real, d_logits_real = discriminator(input_real, reuse=False)
    d_model_fake, d_logits_fake = discriminator(g_model, reuse=True)

    d_loss_real = tf.reduce_mean(
        tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_real, labels=tf.ones_like(d_model_real) * (1 - 0.1)))
    d_loss_fake = tf.reduce_mean(
        tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake, labels=tf.zeros_like(d_model_fake)))
    g_loss = tf.reduce_mean(
        tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake, labels=tf.ones_like(d_model_fake)))

    d_loss = d_loss_real + d_loss_fake

    
    return d_loss, g_loss


"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_loss(model_loss)
Tests Passed

Optimization

Implement model_opt to create the optimization operations for the GANs. Use tf.trainable_variables to get all the trainable variables. Filter the variables with names that are in the discriminator and generator scope names. The function should return a tuple of (discriminator training operation, generator training operation).

In [9]:
def model_opt(d_loss, g_loss, learning_rate, beta1):
    """
    Get optimization operations
    :param d_loss: Discriminator loss Tensor
    :param g_loss: Generator loss Tensor
    :param learning_rate: Learning Rate Placeholder
    :param beta1: The exponential decay rate for the 1st moment in the optimizer
    :return: A tuple of (discriminator training operation, generator training operation)
    """
    # TODO: Implement Function
    t_vars = tf.trainable_variables()
    d_vars = [var for var in t_vars if var.name.startswith('discriminator')]
    g_vars = [var for var in t_vars if var.name.startswith('generator')]

    with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)):
        d_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(d_loss, var_list=d_vars)
        g_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(g_loss, var_list=g_vars)

    
    return d_train_opt, g_train_opt


"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_opt(model_opt, tf)
Tests Passed

Neural Network Training

Show Output

Use this function to show the current output of the generator during training. It will help you determine how well the GANs is training.

In [10]:
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import numpy as np

def show_generator_output(sess, n_images, input_z, out_channel_dim, image_mode):
    """
    Show example output for the generator
    :param sess: TensorFlow session
    :param n_images: Number of Images to display
    :param input_z: Input Z Tensor
    :param out_channel_dim: The number of channels in the output image
    :param image_mode: The mode to use for images ("RGB" or "L")
    """
    cmap = None if image_mode == 'RGB' else 'gray'
    z_dim = input_z.get_shape().as_list()[-1]
    example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])

    samples = sess.run(
        generator(input_z, out_channel_dim, False),
        feed_dict={input_z: example_z})

    images_grid = helper.images_square_grid(samples, image_mode)
    pyplot.imshow(images_grid, cmap=cmap)
    pyplot.show()

Train

Implement train to build and train the GANs. Use the following functions you implemented:

  • model_inputs(image_width, image_height, image_channels, z_dim)
  • model_loss(input_real, input_z, out_channel_dim)
  • model_opt(d_loss, g_loss, learning_rate, beta1)

Use the show_generator_output to show generator output while you train. Running show_generator_output for every batch will drastically increase training time and increase the size of the notebook. It's recommended to print the generator output every 100 batches.

In [11]:
def train(epoch_count, batch_size, z_dim, learning_rate, beta1, get_batches, data_shape, data_image_mode):
    """
    Train the GAN
    :param epoch_count: Number of epochs
    :param batch_size: Batch Size
    :param z_dim: Z dimension
    :param learning_rate: Learning Rate
    :param beta1: The exponential decay rate for the 1st moment in the optimizer
    :param get_batches: Function to get batches
    :param data_shape: Shape of the data
    :param data_image_mode: The image mode to use for images ("RGB" or "L")
    """
    # TODO: Build Model
    out_channel_dim = 3 if data_image_mode == 'RGB' else 1
    
    input_real, input_z, lr = model_inputs(data_shape[1], data_shape[2], data_shape[3], z_dim)
        
    d_loss, g_loss = model_loss(input_real, input_z, data_shape[3])
        
    d_opt, g_opt = model_opt(d_loss, g_loss, lr, beta1)    

    sample_z = np.random.uniform(-1, 1, size=(72, z_dim))

    samples, losses = [], []
    steps = 0
    
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        for epoch_i in range(epoch_count):
            for batch_images in get_batches(batch_size):
                # TODO: Train Model
                steps += 1
                batch_images = batch_images * 2.0

                # Sample random noise for G
                batch_z = np.random.uniform(-1, 1, size=(batch_size, z_dim))

                # Run optimizers
                _ = sess.run(d_opt, feed_dict={input_real: batch_images, input_z: batch_z, lr: learning_rate})
                _ = sess.run(g_opt, feed_dict={input_z: batch_z, input_real: batch_images, lr: learning_rate})

                if steps % 10 == 0:
                    # At the end of each epoch, get the losses and print them out
                    train_loss_d = d_loss.eval({input_z: batch_z, input_real: batch_images})
                    train_loss_g = g_loss.eval({input_z: batch_z})

                    print("Epoch {}/{}...".format(epoch_i+1, epoch_count),
                          "Steps {}    ".format(steps),
                          "Discriminator Loss: {:.4f}...".format(train_loss_d),
                          "Generator Loss: {:.4f}".format(train_loss_g))
                    # Save losses to view after training
                    losses.append((train_loss_d, train_loss_g))
                
                if steps % 100 == 0:
                    gen_samples = sess.run(
                                   generator(input_z, out_channel_dim, is_train=False),
                                   feed_dict={input_z: sample_z})
                    samples.append(gen_samples)
                    _ = show_generator_output(sess, 25, input_z, data_shape[3], data_image_mode)
                    
    return losses

MNIST

Test your GANs architecture on MNIST. After 2 epochs, the GANs should be able to generate images that look like handwritten digits. Make sure the loss of the generator is lower than the loss of the discriminator or close to 0.

In [12]:
batch_size = 64
z_dim = 100
learning_rate = 0.001
beta1 = 0.1


"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 2

mnist_dataset = helper.Dataset('mnist', glob(os.path.join(data_dir, 'mnist/*.jpg')))
with tf.Graph().as_default():
    train(epochs, batch_size, z_dim, learning_rate, beta1, mnist_dataset.get_batches,
          mnist_dataset.shape, mnist_dataset.image_mode)
Epoch 1/2... Steps 10     Discriminator Loss: 10.8557... Generator Loss: 0.0000
Epoch 1/2... Steps 20     Discriminator Loss: 0.1175... Generator Loss: 9.2902
Epoch 1/2... Steps 30     Discriminator Loss: 0.8673... Generator Loss: 1.8374
Epoch 1/2... Steps 40     Discriminator Loss: 1.7637... Generator Loss: 4.0408
Epoch 1/2... Steps 50     Discriminator Loss: 0.4776... Generator Loss: 2.2018
Epoch 1/2... Steps 60     Discriminator Loss: 0.8938... Generator Loss: 1.7589
Epoch 1/2... Steps 70     Discriminator Loss: 1.5531... Generator Loss: 2.4285
Epoch 1/2... Steps 80     Discriminator Loss: 1.5927... Generator Loss: 1.7071
Epoch 1/2... Steps 90     Discriminator Loss: 1.7859... Generator Loss: 1.7034
Epoch 1/2... Steps 100     Discriminator Loss: 1.5327... Generator Loss: 1.1398
Epoch 1/2... Steps 110     Discriminator Loss: 1.5637... Generator Loss: 1.1359
Epoch 1/2... Steps 120     Discriminator Loss: 1.5214... Generator Loss: 1.3062
Epoch 1/2... Steps 130     Discriminator Loss: 1.6720... Generator Loss: 1.3192
Epoch 1/2... Steps 140     Discriminator Loss: 1.6609... Generator Loss: 0.9271
Epoch 1/2... Steps 150     Discriminator Loss: 1.4997... Generator Loss: 1.0697
Epoch 1/2... Steps 160     Discriminator Loss: 1.5856... Generator Loss: 1.0692
Epoch 1/2... Steps 170     Discriminator Loss: 1.4882... Generator Loss: 1.1292
Epoch 1/2... Steps 180     Discriminator Loss: 1.5166... Generator Loss: 1.0073
Epoch 1/2... Steps 190     Discriminator Loss: 1.5011... Generator Loss: 1.1356
Epoch 1/2... Steps 200     Discriminator Loss: 1.5664... Generator Loss: 0.9598
Epoch 1/2... Steps 210     Discriminator Loss: 1.4196... Generator Loss: 0.8852
Epoch 1/2... Steps 220     Discriminator Loss: 1.4571... Generator Loss: 1.0158
Epoch 1/2... Steps 230     Discriminator Loss: 1.4525... Generator Loss: 1.0727
Epoch 1/2... Steps 240     Discriminator Loss: 1.5385... Generator Loss: 1.0589
Epoch 1/2... Steps 250     Discriminator Loss: 1.5024... Generator Loss: 1.0930
Epoch 1/2... Steps 260     Discriminator Loss: 1.5797... Generator Loss: 1.0891
Epoch 1/2... Steps 270     Discriminator Loss: 1.4589... Generator Loss: 1.0992
Epoch 1/2... Steps 280     Discriminator Loss: 1.4285... Generator Loss: 1.0965
Epoch 1/2... Steps 290     Discriminator Loss: 1.4093... Generator Loss: 0.7257
Epoch 1/2... Steps 300     Discriminator Loss: 1.4361... Generator Loss: 1.1932
Epoch 1/2... Steps 310     Discriminator Loss: 1.4089... Generator Loss: 0.9911
Epoch 1/2... Steps 320     Discriminator Loss: 1.4134... Generator Loss: 0.9759
Epoch 1/2... Steps 330     Discriminator Loss: 1.4454... Generator Loss: 1.0371
Epoch 1/2... Steps 340     Discriminator Loss: 1.5069... Generator Loss: 0.9571
Epoch 1/2... Steps 350     Discriminator Loss: 1.4562... Generator Loss: 0.8027
Epoch 1/2... Steps 360     Discriminator Loss: 1.5979... Generator Loss: 1.2475
Epoch 1/2... Steps 370     Discriminator Loss: 1.4708... Generator Loss: 1.0257
Epoch 1/2... Steps 380     Discriminator Loss: 1.6112... Generator Loss: 1.2710
Epoch 1/2... Steps 390     Discriminator Loss: 1.4754... Generator Loss: 0.9449
Epoch 1/2... Steps 400     Discriminator Loss: 1.4703... Generator Loss: 0.9737
Epoch 1/2... Steps 410     Discriminator Loss: 1.4733... Generator Loss: 0.9776
Epoch 1/2... Steps 420     Discriminator Loss: 1.2770... Generator Loss: 0.9792
Epoch 1/2... Steps 430     Discriminator Loss: 1.4089... Generator Loss: 0.9896
Epoch 1/2... Steps 440     Discriminator Loss: 1.8193... Generator Loss: 1.4441
Epoch 1/2... Steps 450     Discriminator Loss: 1.3229... Generator Loss: 0.8700
Epoch 1/2... Steps 460     Discriminator Loss: 1.4087... Generator Loss: 0.9933
Epoch 1/2... Steps 470     Discriminator Loss: 1.4609... Generator Loss: 0.9479
Epoch 1/2... Steps 480     Discriminator Loss: 1.4364... Generator Loss: 0.9275
Epoch 1/2... Steps 490     Discriminator Loss: 1.3073... Generator Loss: 0.8114
Epoch 1/2... Steps 500     Discriminator Loss: 1.3372... Generator Loss: 0.9911
Epoch 1/2... Steps 510     Discriminator Loss: 1.8644... Generator Loss: 1.6580
Epoch 1/2... Steps 520     Discriminator Loss: 1.3488... Generator Loss: 0.5584
Epoch 1/2... Steps 530     Discriminator Loss: 1.5814... Generator Loss: 0.3159
Epoch 1/2... Steps 540     Discriminator Loss: 1.5160... Generator Loss: 0.3453
Epoch 1/2... Steps 550     Discriminator Loss: 1.6804... Generator Loss: 0.2833
Epoch 1/2... Steps 560     Discriminator Loss: 1.4248... Generator Loss: 0.4332
Epoch 1/2... Steps 570     Discriminator Loss: 1.7076... Generator Loss: 0.2821
Epoch 1/2... Steps 580     Discriminator Loss: 1.4580... Generator Loss: 0.4150
Epoch 1/2... Steps 590     Discriminator Loss: 1.3968... Generator Loss: 0.4376
Epoch 1/2... Steps 600     Discriminator Loss: 1.6990... Generator Loss: 0.2651
Epoch 1/2... Steps 610     Discriminator Loss: 1.4070... Generator Loss: 0.4361
Epoch 1/2... Steps 620     Discriminator Loss: 1.7143... Generator Loss: 0.2640
Epoch 1/2... Steps 630     Discriminator Loss: 1.3932... Generator Loss: 0.4391
Epoch 1/2... Steps 640     Discriminator Loss: 1.5607... Generator Loss: 0.3224
Epoch 1/2... Steps 650     Discriminator Loss: 1.5802... Generator Loss: 0.3272
Epoch 1/2... Steps 660     Discriminator Loss: 1.4582... Generator Loss: 0.3990
Epoch 1/2... Steps 670     Discriminator Loss: 1.6956... Generator Loss: 0.2674
Epoch 1/2... Steps 680     Discriminator Loss: 1.3809... Generator Loss: 0.4341
Epoch 1/2... Steps 690     Discriminator Loss: 1.4681... Generator Loss: 0.4299
Epoch 1/2... Steps 700     Discriminator Loss: 1.4300... Generator Loss: 0.4543
Epoch 1/2... Steps 710     Discriminator Loss: 1.4240... Generator Loss: 0.3943
Epoch 1/2... Steps 720     Discriminator Loss: 1.5954... Generator Loss: 0.3035
Epoch 1/2... Steps 730     Discriminator Loss: 1.4738... Generator Loss: 0.3549
Epoch 1/2... Steps 740     Discriminator Loss: 1.3847... Generator Loss: 0.4324
Epoch 1/2... Steps 750     Discriminator Loss: 1.4663... Generator Loss: 0.3808
Epoch 1/2... Steps 760     Discriminator Loss: 1.5206... Generator Loss: 0.3505
Epoch 1/2... Steps 770     Discriminator Loss: 1.5719... Generator Loss: 0.3190
Epoch 1/2... Steps 780     Discriminator Loss: 1.3428... Generator Loss: 0.5026
Epoch 1/2... Steps 790     Discriminator Loss: 1.5154... Generator Loss: 0.3283
Epoch 1/2... Steps 800     Discriminator Loss: 1.4950... Generator Loss: 0.3702
Epoch 1/2... Steps 810     Discriminator Loss: 1.3035... Generator Loss: 1.0276
Epoch 1/2... Steps 820     Discriminator Loss: 1.3595... Generator Loss: 0.9856
Epoch 1/2... Steps 830     Discriminator Loss: 1.3505... Generator Loss: 1.0274
Epoch 1/2... Steps 840     Discriminator Loss: 1.2423... Generator Loss: 1.1627
Epoch 1/2... Steps 850     Discriminator Loss: 1.3299... Generator Loss: 1.1365
Epoch 1/2... Steps 860     Discriminator Loss: 1.2541... Generator Loss: 1.1072
Epoch 1/2... Steps 870     Discriminator Loss: 1.2925... Generator Loss: 1.0898
Epoch 1/2... Steps 880     Discriminator Loss: 1.1473... Generator Loss: 0.6463
Epoch 1/2... Steps 890     Discriminator Loss: 1.6707... Generator Loss: 0.2967
Epoch 1/2... Steps 900     Discriminator Loss: 1.4034... Generator Loss: 0.4912
Epoch 1/2... Steps 910     Discriminator Loss: 1.4679... Generator Loss: 0.3871
Epoch 1/2... Steps 920     Discriminator Loss: 1.4195... Generator Loss: 0.3901
Epoch 1/2... Steps 930     Discriminator Loss: 1.3822... Generator Loss: 0.4169
Epoch 2/2... Steps 940     Discriminator Loss: 1.5683... Generator Loss: 0.3100
Epoch 2/2... Steps 950     Discriminator Loss: 1.3427... Generator Loss: 0.4991
Epoch 2/2... Steps 960     Discriminator Loss: 1.4331... Generator Loss: 0.3691
Epoch 2/2... Steps 970     Discriminator Loss: 1.3651... Generator Loss: 0.4696
Epoch 2/2... Steps 980     Discriminator Loss: 1.5036... Generator Loss: 0.4078
Epoch 2/2... Steps 990     Discriminator Loss: 1.4477... Generator Loss: 0.3612
Epoch 2/2... Steps 1000     Discriminator Loss: 1.4625... Generator Loss: 0.3990
Epoch 2/2... Steps 1010     Discriminator Loss: 1.5446... Generator Loss: 0.3281
Epoch 2/2... Steps 1020     Discriminator Loss: 1.2704... Generator Loss: 0.5005
Epoch 2/2... Steps 1030     Discriminator Loss: 1.3153... Generator Loss: 0.5873
Epoch 2/2... Steps 1040     Discriminator Loss: 1.1368... Generator Loss: 0.7745
Epoch 2/2... Steps 1050     Discriminator Loss: 1.3694... Generator Loss: 1.1470
Epoch 2/2... Steps 1060     Discriminator Loss: 1.3456... Generator Loss: 0.9422
Epoch 2/2... Steps 1070     Discriminator Loss: 1.2330... Generator Loss: 0.9453
Epoch 2/2... Steps 1080     Discriminator Loss: 1.2806... Generator Loss: 0.7076
Epoch 2/2... Steps 1090     Discriminator Loss: 1.4010... Generator Loss: 1.0160
Epoch 2/2... Steps 1100     Discriminator Loss: 1.2651... Generator Loss: 1.0154
Epoch 2/2... Steps 1110     Discriminator Loss: 1.2620... Generator Loss: 1.1317
Epoch 2/2... Steps 1120     Discriminator Loss: 1.2435... Generator Loss: 1.1290
Epoch 2/2... Steps 1130     Discriminator Loss: 1.2206... Generator Loss: 1.1331
Epoch 2/2... Steps 1140     Discriminator Loss: 1.5508... Generator Loss: 1.5094
Epoch 2/2... Steps 1150     Discriminator Loss: 1.2294... Generator Loss: 0.9201
Epoch 2/2... Steps 1160     Discriminator Loss: 1.2003... Generator Loss: 0.6906
Epoch 2/2... Steps 1170     Discriminator Loss: 1.3782... Generator Loss: 0.4873
Epoch 2/2... Steps 1180     Discriminator Loss: 1.3953... Generator Loss: 0.4003
Epoch 2/2... Steps 1190     Discriminator Loss: 1.5689... Generator Loss: 0.3486
Epoch 2/2... Steps 1200     Discriminator Loss: 1.3153... Generator Loss: 0.6480
Epoch 2/2... Steps 1210     Discriminator Loss: 1.2916... Generator Loss: 0.8993
Epoch 2/2... Steps 1220     Discriminator Loss: 1.2832... Generator Loss: 0.6990
Epoch 2/2... Steps 1230     Discriminator Loss: 1.4828... Generator Loss: 1.4001
Epoch 2/2... Steps 1240     Discriminator Loss: 1.4518... Generator Loss: 1.3029
Epoch 2/2... Steps 1250     Discriminator Loss: 1.1816... Generator Loss: 0.6558
Epoch 2/2... Steps 1260     Discriminator Loss: 1.8112... Generator Loss: 0.2305
Epoch 2/2... Steps 1270     Discriminator Loss: 1.4611... Generator Loss: 0.3958
Epoch 2/2... Steps 1280     Discriminator Loss: 1.7201... Generator Loss: 0.2639
Epoch 2/2... Steps 1290     Discriminator Loss: 1.2160... Generator Loss: 1.1696
Epoch 2/2... Steps 1300     Discriminator Loss: 1.1020... Generator Loss: 1.1005
Epoch 2/2... Steps 1310     Discriminator Loss: 1.3312... Generator Loss: 1.3114
Epoch 2/2... Steps 1320     Discriminator Loss: 1.2759... Generator Loss: 1.1224
Epoch 2/2... Steps 1330     Discriminator Loss: 1.2514... Generator Loss: 0.7799
Epoch 2/2... Steps 1340     Discriminator Loss: 1.1645... Generator Loss: 0.9646
Epoch 2/2... Steps 1350     Discriminator Loss: 1.4823... Generator Loss: 1.2697
Epoch 2/2... Steps 1360     Discriminator Loss: 1.2447... Generator Loss: 0.5590
Epoch 2/2... Steps 1370     Discriminator Loss: 1.5327... Generator Loss: 0.3317
Epoch 2/2... Steps 1380     Discriminator Loss: 1.4387... Generator Loss: 0.3558
Epoch 2/2... Steps 1390     Discriminator Loss: 1.4795... Generator Loss: 0.3818
Epoch 2/2... Steps 1400     Discriminator Loss: 1.4909... Generator Loss: 0.3796
Epoch 2/2... Steps 1410     Discriminator Loss: 1.4349... Generator Loss: 0.3775
Epoch 2/2... Steps 1420     Discriminator Loss: 1.4218... Generator Loss: 0.3714
Epoch 2/2... Steps 1430     Discriminator Loss: 1.2627... Generator Loss: 0.4611
Epoch 2/2... Steps 1440     Discriminator Loss: 2.0382... Generator Loss: 0.1965
Epoch 2/2... Steps 1450     Discriminator Loss: 1.4815... Generator Loss: 0.3796
Epoch 2/2... Steps 1460     Discriminator Loss: 1.3847... Generator Loss: 0.4246
Epoch 2/2... Steps 1470     Discriminator Loss: 1.5042... Generator Loss: 0.3227
Epoch 2/2... Steps 1480     Discriminator Loss: 1.4542... Generator Loss: 0.3886
Epoch 2/2... Steps 1490     Discriminator Loss: 1.2773... Generator Loss: 0.6628
Epoch 2/2... Steps 1500     Discriminator Loss: 1.2177... Generator Loss: 1.0232
Epoch 2/2... Steps 1510     Discriminator Loss: 1.1296... Generator Loss: 1.2721
Epoch 2/2... Steps 1520     Discriminator Loss: 1.3066... Generator Loss: 0.9155
Epoch 2/2... Steps 1530     Discriminator Loss: 1.1536... Generator Loss: 0.7730
Epoch 2/2... Steps 1540     Discriminator Loss: 1.1241... Generator Loss: 1.2965
Epoch 2/2... Steps 1550     Discriminator Loss: 1.1785... Generator Loss: 0.7791
Epoch 2/2... Steps 1560     Discriminator Loss: 1.3112... Generator Loss: 0.9487
Epoch 2/2... Steps 1570     Discriminator Loss: 1.2115... Generator Loss: 1.0624
Epoch 2/2... Steps 1580     Discriminator Loss: 1.0075... Generator Loss: 0.9453
Epoch 2/2... Steps 1590     Discriminator Loss: 1.2682... Generator Loss: 0.5527
Epoch 2/2... Steps 1600     Discriminator Loss: 1.2321... Generator Loss: 0.6704
Epoch 2/2... Steps 1610     Discriminator Loss: 1.3451... Generator Loss: 0.4248
Epoch 2/2... Steps 1620     Discriminator Loss: 1.5324... Generator Loss: 0.3414
Epoch 2/2... Steps 1630     Discriminator Loss: 1.1662... Generator Loss: 0.5833
Epoch 2/2... Steps 1640     Discriminator Loss: 1.3297... Generator Loss: 0.4428
Epoch 2/2... Steps 1650     Discriminator Loss: 1.5831... Generator Loss: 0.3257
Epoch 2/2... Steps 1660     Discriminator Loss: 1.4843... Generator Loss: 0.3682
Epoch 2/2... Steps 1670     Discriminator Loss: 1.6472... Generator Loss: 0.2740
Epoch 2/2... Steps 1680     Discriminator Loss: 1.2713... Generator Loss: 0.6563
Epoch 2/2... Steps 1690     Discriminator Loss: 1.1404... Generator Loss: 0.9346
Epoch 2/2... Steps 1700     Discriminator Loss: 1.1943... Generator Loss: 0.9606
Epoch 2/2... Steps 1710     Discriminator Loss: 1.2102... Generator Loss: 1.1925
Epoch 2/2... Steps 1720     Discriminator Loss: 1.2755... Generator Loss: 1.3228
Epoch 2/2... Steps 1730     Discriminator Loss: 0.9573... Generator Loss: 1.0666
Epoch 2/2... Steps 1740     Discriminator Loss: 1.0529... Generator Loss: 0.8084
Epoch 2/2... Steps 1750     Discriminator Loss: 1.4634... Generator Loss: 0.3619
Epoch 2/2... Steps 1760     Discriminator Loss: 1.6299... Generator Loss: 0.2871
Epoch 2/2... Steps 1770     Discriminator Loss: 1.2999... Generator Loss: 0.5746
Epoch 2/2... Steps 1780     Discriminator Loss: 1.4346... Generator Loss: 0.4274
Epoch 2/2... Steps 1790     Discriminator Loss: 1.6028... Generator Loss: 0.3846
Epoch 2/2... Steps 1800     Discriminator Loss: 1.5436... Generator Loss: 0.3900
Epoch 2/2... Steps 1810     Discriminator Loss: 1.4373... Generator Loss: 0.3957
Epoch 2/2... Steps 1820     Discriminator Loss: 1.6715... Generator Loss: 0.2672
Epoch 2/2... Steps 1830     Discriminator Loss: 1.6144... Generator Loss: 0.3060
Epoch 2/2... Steps 1840     Discriminator Loss: 1.3427... Generator Loss: 0.4054
Epoch 2/2... Steps 1850     Discriminator Loss: 1.3639... Generator Loss: 0.4099
Epoch 2/2... Steps 1860     Discriminator Loss: 1.5891... Generator Loss: 0.3005
Epoch 2/2... Steps 1870     Discriminator Loss: 1.3864... Generator Loss: 0.3985

CelebA

Run your GANs on CelebA. It will take around 20 minutes on the average GPU to run one epoch. You can run the whole epoch or stop when it starts to generate realistic faces.

In [23]:
batch_size = 32
z_dim = 100
learning_rate = 0.0008
beta1 = 0.3


"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 1

celeba_dataset = helper.Dataset('celeba', glob(os.path.join(data_dir, 'img_align_celeba/*.jpg')))
with tf.Graph().as_default():
    train(epochs, batch_size, z_dim, learning_rate, beta1, celeba_dataset.get_batches,
          celeba_dataset.shape, celeba_dataset.image_mode)
Epoch 1/1... Steps 10     Discriminator Loss: 0.6020... Generator Loss: 5.6930
Epoch 1/1... Steps 20     Discriminator Loss: 5.7164... Generator Loss: 0.0063
Epoch 1/1... Steps 30     Discriminator Loss: 0.9172... Generator Loss: 4.1754
Epoch 1/1... Steps 40     Discriminator Loss: 1.7238... Generator Loss: 0.5098
Epoch 1/1... Steps 50     Discriminator Loss: 1.3024... Generator Loss: 0.7427
Epoch 1/1... Steps 60     Discriminator Loss: 1.2674... Generator Loss: 2.0363
Epoch 1/1... Steps 70     Discriminator Loss: 1.2706... Generator Loss: 0.7938
Epoch 1/1... Steps 80     Discriminator Loss: 1.3687... Generator Loss: 0.7675
Epoch 1/1... Steps 90     Discriminator Loss: 0.9630... Generator Loss: 0.9866
Epoch 1/1... Steps 100     Discriminator Loss: 1.1140... Generator Loss: 1.3458
Epoch 1/1... Steps 110     Discriminator Loss: 1.5020... Generator Loss: 0.5120
Epoch 1/1... Steps 120     Discriminator Loss: 1.3329... Generator Loss: 0.7373
Epoch 1/1... Steps 130     Discriminator Loss: 1.3246... Generator Loss: 0.7508
Epoch 1/1... Steps 140     Discriminator Loss: 1.4847... Generator Loss: 0.6875
Epoch 1/1... Steps 150     Discriminator Loss: 1.5378... Generator Loss: 0.5904
Epoch 1/1... Steps 160     Discriminator Loss: 1.3297... Generator Loss: 0.7986
Epoch 1/1... Steps 170     Discriminator Loss: 1.5775... Generator Loss: 1.1729
Epoch 1/1... Steps 180     Discriminator Loss: 1.2628... Generator Loss: 0.7097
Epoch 1/1... Steps 190     Discriminator Loss: 1.3461... Generator Loss: 0.7992
Epoch 1/1... Steps 200     Discriminator Loss: 1.1720... Generator Loss: 0.9570
Epoch 1/1... Steps 210     Discriminator Loss: 1.7275... Generator Loss: 0.3201
Epoch 1/1... Steps 220     Discriminator Loss: 1.4190... Generator Loss: 0.5851
Epoch 1/1... Steps 230     Discriminator Loss: 1.3015... Generator Loss: 1.6622
Epoch 1/1... Steps 240     Discriminator Loss: 1.2960... Generator Loss: 1.5841
Epoch 1/1... Steps 250     Discriminator Loss: 1.1541... Generator Loss: 0.6552
Epoch 1/1... Steps 260     Discriminator Loss: 1.0634... Generator Loss: 0.8845
Epoch 1/1... Steps 270     Discriminator Loss: 1.3497... Generator Loss: 0.8078
Epoch 1/1... Steps 280     Discriminator Loss: 1.3119... Generator Loss: 0.6163
Epoch 1/1... Steps 290     Discriminator Loss: 1.2813... Generator Loss: 0.8668
Epoch 1/1... Steps 300     Discriminator Loss: 1.2368... Generator Loss: 1.2780
Epoch 1/1... Steps 310     Discriminator Loss: 1.0821... Generator Loss: 0.7034
Epoch 1/1... Steps 320     Discriminator Loss: 1.2744... Generator Loss: 1.4677
Epoch 1/1... Steps 330     Discriminator Loss: 1.3951... Generator Loss: 0.7528
Epoch 1/1... Steps 340     Discriminator Loss: 1.6049... Generator Loss: 0.4660
Epoch 1/1... Steps 350     Discriminator Loss: 1.5000... Generator Loss: 0.4734
Epoch 1/1... Steps 360     Discriminator Loss: 0.9561... Generator Loss: 1.3135
Epoch 1/1... Steps 370     Discriminator Loss: 2.0876... Generator Loss: 0.5628
Epoch 1/1... Steps 380     Discriminator Loss: 1.6022... Generator Loss: 0.6708
Epoch 1/1... Steps 390     Discriminator Loss: 1.2277... Generator Loss: 0.8601
Epoch 1/1... Steps 400     Discriminator Loss: 1.0972... Generator Loss: 0.9201
Epoch 1/1... Steps 410     Discriminator Loss: 1.5090... Generator Loss: 0.3843
Epoch 1/1... Steps 420     Discriminator Loss: 1.2058... Generator Loss: 1.1377
Epoch 1/1... Steps 430     Discriminator Loss: 1.1282... Generator Loss: 1.0193
Epoch 1/1... Steps 440     Discriminator Loss: 1.4248... Generator Loss: 0.7516
Epoch 1/1... Steps 450     Discriminator Loss: 0.9971... Generator Loss: 1.8442
Epoch 1/1... Steps 460     Discriminator Loss: 1.2937... Generator Loss: 0.7104
Epoch 1/1... Steps 470     Discriminator Loss: 1.2059... Generator Loss: 0.7579
Epoch 1/1... Steps 480     Discriminator Loss: 1.6533... Generator Loss: 0.3489
Epoch 1/1... Steps 490     Discriminator Loss: 1.4272... Generator Loss: 0.7033
Epoch 1/1... Steps 500     Discriminator Loss: 1.5277... Generator Loss: 0.7110
Epoch 1/1... Steps 510     Discriminator Loss: 1.3588... Generator Loss: 0.7342
Epoch 1/1... Steps 520     Discriminator Loss: 0.5698... Generator Loss: 3.0826
Epoch 1/1... Steps 530     Discriminator Loss: 0.9102... Generator Loss: 0.9742
Epoch 1/1... Steps 540     Discriminator Loss: 1.6306... Generator Loss: 0.4968
Epoch 1/1... Steps 550     Discriminator Loss: 1.3572... Generator Loss: 1.1106
Epoch 1/1... Steps 560     Discriminator Loss: 1.4699... Generator Loss: 0.6727
Epoch 1/1... Steps 570     Discriminator Loss: 1.4424... Generator Loss: 1.5645
Epoch 1/1... Steps 580     Discriminator Loss: 1.5114... Generator Loss: 1.6711
Epoch 1/1... Steps 590     Discriminator Loss: 0.9754... Generator Loss: 1.3284
Epoch 1/1... Steps 600     Discriminator Loss: 1.1280... Generator Loss: 1.0845
Epoch 1/1... Steps 610     Discriminator Loss: 1.2370... Generator Loss: 0.7815
Epoch 1/1... Steps 620     Discriminator Loss: 1.2697... Generator Loss: 0.9191
Epoch 1/1... Steps 630     Discriminator Loss: 0.7337... Generator Loss: 2.2319
Epoch 1/1... Steps 640     Discriminator Loss: 1.3805... Generator Loss: 0.6444
Epoch 1/1... Steps 650     Discriminator Loss: 1.3818... Generator Loss: 0.6217
Epoch 1/1... Steps 660     Discriminator Loss: 1.3433... Generator Loss: 0.8296
Epoch 1/1... Steps 670     Discriminator Loss: 1.1472... Generator Loss: 0.7487
Epoch 1/1... Steps 680     Discriminator Loss: 1.0329... Generator Loss: 1.2860
Epoch 1/1... Steps 690     Discriminator Loss: 1.2212... Generator Loss: 0.9523
Epoch 1/1... Steps 700     Discriminator Loss: 1.2012... Generator Loss: 1.0706
Epoch 1/1... Steps 710     Discriminator Loss: 1.1897... Generator Loss: 0.6750
Epoch 1/1... Steps 720     Discriminator Loss: 1.6872... Generator Loss: 0.3301
Epoch 1/1... Steps 730     Discriminator Loss: 1.4444... Generator Loss: 0.5666
Epoch 1/1... Steps 740     Discriminator Loss: 1.4931... Generator Loss: 0.4437
Epoch 1/1... Steps 750     Discriminator Loss: 0.8849... Generator Loss: 1.2371
Epoch 1/1... Steps 760     Discriminator Loss: 1.2599... Generator Loss: 0.7479
Epoch 1/1... Steps 770     Discriminator Loss: 1.0556... Generator Loss: 1.0096
Epoch 1/1... Steps 780     Discriminator Loss: 1.4180... Generator Loss: 0.8234
Epoch 1/1... Steps 790     Discriminator Loss: 0.9990... Generator Loss: 1.4739
Epoch 1/1... Steps 800     Discriminator Loss: 1.4661... Generator Loss: 1.1117
Epoch 1/1... Steps 810     Discriminator Loss: 1.1337... Generator Loss: 0.7786
Epoch 1/1... Steps 820     Discriminator Loss: 1.7805... Generator Loss: 0.2770
Epoch 1/1... Steps 830     Discriminator Loss: 1.2419... Generator Loss: 0.7291
Epoch 1/1... Steps 840     Discriminator Loss: 1.3222... Generator Loss: 0.8861
Epoch 1/1... Steps 850     Discriminator Loss: 1.3732... Generator Loss: 0.7724
Epoch 1/1... Steps 860     Discriminator Loss: 1.3050... Generator Loss: 0.8852
Epoch 1/1... Steps 870     Discriminator Loss: 1.3809... Generator Loss: 1.2750
Epoch 1/1... Steps 880     Discriminator Loss: 1.5676... Generator Loss: 0.4459
Epoch 1/1... Steps 890     Discriminator Loss: 1.2106... Generator Loss: 0.7676
Epoch 1/1... Steps 900     Discriminator Loss: 1.2389... Generator Loss: 0.9005
Epoch 1/1... Steps 910     Discriminator Loss: 1.3400... Generator Loss: 0.9947
Epoch 1/1... Steps 920     Discriminator Loss: 1.2318... Generator Loss: 0.8020
Epoch 1/1... Steps 930     Discriminator Loss: 1.5589... Generator Loss: 1.0858
Epoch 1/1... Steps 940     Discriminator Loss: 1.1409... Generator Loss: 1.1931
Epoch 1/1... Steps 950     Discriminator Loss: 1.5275... Generator Loss: 0.4197
Epoch 1/1... Steps 960     Discriminator Loss: 1.0297... Generator Loss: 0.9746
Epoch 1/1... Steps 970     Discriminator Loss: 1.4743... Generator Loss: 0.6759
Epoch 1/1... Steps 980     Discriminator Loss: 1.2958... Generator Loss: 1.1604
Epoch 1/1... Steps 990     Discriminator Loss: 1.4997... Generator Loss: 0.5107
Epoch 1/1... Steps 1000     Discriminator Loss: 1.4144... Generator Loss: 0.8238
Epoch 1/1... Steps 1010     Discriminator Loss: 1.2562... Generator Loss: 0.8080
Epoch 1/1... Steps 1020     Discriminator Loss: 1.5111... Generator Loss: 1.6531
Epoch 1/1... Steps 1030     Discriminator Loss: 1.1107... Generator Loss: 0.9570
Epoch 1/1... Steps 1040     Discriminator Loss: 1.1676... Generator Loss: 0.9699
Epoch 1/1... Steps 1050     Discriminator Loss: 1.9331... Generator Loss: 0.4155
Epoch 1/1... Steps 1060     Discriminator Loss: 1.1730... Generator Loss: 0.8716
Epoch 1/1... Steps 1070     Discriminator Loss: 1.2624... Generator Loss: 1.4538
Epoch 1/1... Steps 1080     Discriminator Loss: 1.1409... Generator Loss: 0.8419
Epoch 1/1... Steps 1090     Discriminator Loss: 1.4592... Generator Loss: 1.2663
Epoch 1/1... Steps 1100     Discriminator Loss: 1.5981... Generator Loss: 0.4054
Epoch 1/1... Steps 1110     Discriminator Loss: 1.2494... Generator Loss: 0.7117
Epoch 1/1... Steps 1120     Discriminator Loss: 1.5116... Generator Loss: 0.7492
Epoch 1/1... Steps 1130     Discriminator Loss: 1.2759... Generator Loss: 0.6534
Epoch 1/1... Steps 1140     Discriminator Loss: 1.8716... Generator Loss: 1.9022
Epoch 1/1... Steps 1150     Discriminator Loss: 1.1811... Generator Loss: 0.7683
Epoch 1/1... Steps 1160     Discriminator Loss: 1.1293... Generator Loss: 0.9534
Epoch 1/1... Steps 1170     Discriminator Loss: 1.3604... Generator Loss: 0.9097
Epoch 1/1... Steps 1180     Discriminator Loss: 1.0768... Generator Loss: 1.3212
Epoch 1/1... Steps 1190     Discriminator Loss: 1.4322... Generator Loss: 0.8689
Epoch 1/1... Steps 1200     Discriminator Loss: 1.6198... Generator Loss: 0.3070
Epoch 1/1... Steps 1210     Discriminator Loss: 1.1331... Generator Loss: 1.0314
Epoch 1/1... Steps 1220     Discriminator Loss: 1.3988... Generator Loss: 0.8785
Epoch 1/1... Steps 1230     Discriminator Loss: 1.2287... Generator Loss: 0.6607
Epoch 1/1... Steps 1240     Discriminator Loss: 1.3227... Generator Loss: 0.6883
Epoch 1/1... Steps 1250     Discriminator Loss: 0.8947... Generator Loss: 1.6998
Epoch 1/1... Steps 1260     Discriminator Loss: 0.9695... Generator Loss: 1.4767
Epoch 1/1... Steps 1270     Discriminator Loss: 0.8055... Generator Loss: 1.4541
Epoch 1/1... Steps 1280     Discriminator Loss: 0.9321... Generator Loss: 1.2251
Epoch 1/1... Steps 1290     Discriminator Loss: 1.2438... Generator Loss: 2.0606
Epoch 1/1... Steps 1300     Discriminator Loss: 1.0809... Generator Loss: 1.4867
Epoch 1/1... Steps 1310     Discriminator Loss: 1.2887... Generator Loss: 0.9058
Epoch 1/1... Steps 1320     Discriminator Loss: 1.4429... Generator Loss: 2.9698
Epoch 1/1... Steps 1330     Discriminator Loss: 1.0056... Generator Loss: 0.8999
Epoch 1/1... Steps 1340     Discriminator Loss: 1.2989... Generator Loss: 0.7530
Epoch 1/1... Steps 1350     Discriminator Loss: 1.2888... Generator Loss: 1.5692
Epoch 1/1... Steps 1360     Discriminator Loss: 1.1515... Generator Loss: 1.0272
Epoch 1/1... Steps 1370     Discriminator Loss: 1.0418... Generator Loss: 1.3300
Epoch 1/1... Steps 1380     Discriminator Loss: 1.2091... Generator Loss: 0.9238
Epoch 1/1... Steps 1390     Discriminator Loss: 1.6166... Generator Loss: 0.9574
Epoch 1/1... Steps 1400     Discriminator Loss: 1.2549... Generator Loss: 0.8917
Epoch 1/1... Steps 1410     Discriminator Loss: 1.4080... Generator Loss: 1.2526
Epoch 1/1... Steps 1420     Discriminator Loss: 1.2279... Generator Loss: 0.9908
Epoch 1/1... Steps 1430     Discriminator Loss: 1.4339... Generator Loss: 0.5893
Epoch 1/1... Steps 1440     Discriminator Loss: 1.5033... Generator Loss: 0.8188
Epoch 1/1... Steps 1450     Discriminator Loss: 1.1795... Generator Loss: 0.6711
Epoch 1/1... Steps 1460     Discriminator Loss: 0.9628... Generator Loss: 1.0538
Epoch 1/1... Steps 1470     Discriminator Loss: 1.1276... Generator Loss: 1.0436
Epoch 1/1... Steps 1480     Discriminator Loss: 1.5811... Generator Loss: 1.7973
Epoch 1/1... Steps 1490     Discriminator Loss: 1.2609... Generator Loss: 0.7124
Epoch 1/1... Steps 1500     Discriminator Loss: 1.1057... Generator Loss: 1.0789
Epoch 1/1... Steps 1510     Discriminator Loss: 0.7361... Generator Loss: 1.9853
Epoch 1/1... Steps 1520     Discriminator Loss: 1.1496... Generator Loss: 0.9039
Epoch 1/1... Steps 1530     Discriminator Loss: 1.4911... Generator Loss: 0.5793
Epoch 1/1... Steps 1540     Discriminator Loss: 1.3269... Generator Loss: 1.5535
Epoch 1/1... Steps 1550     Discriminator Loss: 1.8056... Generator Loss: 1.7259
Epoch 1/1... Steps 1560     Discriminator Loss: 1.4076... Generator Loss: 1.4150
Epoch 1/1... Steps 1570     Discriminator Loss: 1.5122... Generator Loss: 0.6762
Epoch 1/1... Steps 1580     Discriminator Loss: 1.1916... Generator Loss: 1.0648
Epoch 1/1... Steps 1590     Discriminator Loss: 0.9017... Generator Loss: 1.6815
Epoch 1/1... Steps 1600     Discriminator Loss: 1.2460... Generator Loss: 1.2181
Epoch 1/1... Steps 1610     Discriminator Loss: 1.4444... Generator Loss: 0.9900
Epoch 1/1... Steps 1620     Discriminator Loss: 1.0087... Generator Loss: 0.7705
Epoch 1/1... Steps 1630     Discriminator Loss: 1.2661... Generator Loss: 0.7664
Epoch 1/1... Steps 1640     Discriminator Loss: 1.4708... Generator Loss: 0.7074
Epoch 1/1... Steps 1650     Discriminator Loss: 1.5650... Generator Loss: 0.4080
Epoch 1/1... Steps 1660     Discriminator Loss: 1.6439... Generator Loss: 2.6043
Epoch 1/1... Steps 1670     Discriminator Loss: 1.7040... Generator Loss: 0.3370
Epoch 1/1... Steps 1680     Discriminator Loss: 1.3953... Generator Loss: 0.7320
Epoch 1/1... Steps 1690     Discriminator Loss: 1.4313... Generator Loss: 0.7872
Epoch 1/1... Steps 1700     Discriminator Loss: 1.2364... Generator Loss: 0.8790
Epoch 1/1... Steps 1710     Discriminator Loss: 1.3624... Generator Loss: 0.6065
Epoch 1/1... Steps 1720     Discriminator Loss: 0.8126... Generator Loss: 1.4999
Epoch 1/1... Steps 1730     Discriminator Loss: 1.4955... Generator Loss: 0.5603
Epoch 1/1... Steps 1740     Discriminator Loss: 1.0602... Generator Loss: 0.9002
Epoch 1/1... Steps 1750     Discriminator Loss: 1.0444... Generator Loss: 1.1978
Epoch 1/1... Steps 1760     Discriminator Loss: 1.3105... Generator Loss: 1.1358
Epoch 1/1... Steps 1770     Discriminator Loss: 1.5728... Generator Loss: 1.6550
Epoch 1/1... Steps 1780     Discriminator Loss: 0.8681... Generator Loss: 1.7013
Epoch 1/1... Steps 1790     Discriminator Loss: 1.0366... Generator Loss: 1.1789
Epoch 1/1... Steps 1800     Discriminator Loss: 1.2369... Generator Loss: 1.0813
Epoch 1/1... Steps 1810     Discriminator Loss: 1.1253... Generator Loss: 2.9420
Epoch 1/1... Steps 1820     Discriminator Loss: 1.6911... Generator Loss: 0.2935
Epoch 1/1... Steps 1830     Discriminator Loss: 1.7891... Generator Loss: 0.3180
Epoch 1/1... Steps 1840     Discriminator Loss: 0.8779... Generator Loss: 1.0936
Epoch 1/1... Steps 1850     Discriminator Loss: 1.4825... Generator Loss: 0.7290
Epoch 1/1... Steps 1860     Discriminator Loss: 1.8138... Generator Loss: 0.3590
Epoch 1/1... Steps 1870     Discriminator Loss: 1.5273... Generator Loss: 0.4941
Epoch 1/1... Steps 1880     Discriminator Loss: 0.9928... Generator Loss: 0.9204
Epoch 1/1... Steps 1890     Discriminator Loss: 2.1168... Generator Loss: 0.2680
Epoch 1/1... Steps 1900     Discriminator Loss: 1.7197... Generator Loss: 1.9450
Epoch 1/1... Steps 1910     Discriminator Loss: 1.3010... Generator Loss: 0.6912
Epoch 1/1... Steps 1920     Discriminator Loss: 1.9009... Generator Loss: 2.0269
Epoch 1/1... Steps 1930     Discriminator Loss: 1.3525... Generator Loss: 1.2441
Epoch 1/1... Steps 1940     Discriminator Loss: 1.2410... Generator Loss: 0.6671
Epoch 1/1... Steps 1950     Discriminator Loss: 1.4428... Generator Loss: 0.8040
Epoch 1/1... Steps 1960     Discriminator Loss: 0.9818... Generator Loss: 0.8569
Epoch 1/1... Steps 1970     Discriminator Loss: 1.4147... Generator Loss: 0.7414
Epoch 1/1... Steps 1980     Discriminator Loss: 1.2104... Generator Loss: 0.7865
Epoch 1/1... Steps 1990     Discriminator Loss: 1.3217... Generator Loss: 1.1101
Epoch 1/1... Steps 2000     Discriminator Loss: 1.2082... Generator Loss: 0.7353
Epoch 1/1... Steps 2010     Discriminator Loss: 1.4087... Generator Loss: 0.7910
Epoch 1/1... Steps 2020     Discriminator Loss: 1.3527... Generator Loss: 0.8086
Epoch 1/1... Steps 2030     Discriminator Loss: 1.3845... Generator Loss: 1.3158
Epoch 1/1... Steps 2040     Discriminator Loss: 2.0350... Generator Loss: 0.2241
Epoch 1/1... Steps 2050     Discriminator Loss: 1.3761... Generator Loss: 0.5111
Epoch 1/1... Steps 2060     Discriminator Loss: 1.5856... Generator Loss: 1.6697
Epoch 1/1... Steps 2070     Discriminator Loss: 1.1669... Generator Loss: 1.1339
Epoch 1/1... Steps 2080     Discriminator Loss: 1.2771... Generator Loss: 0.5027
Epoch 1/1... Steps 2090     Discriminator Loss: 0.8556... Generator Loss: 1.0222
Epoch 1/1... Steps 2100     Discriminator Loss: 0.6581... Generator Loss: 2.0805
Epoch 1/1... Steps 2110     Discriminator Loss: 1.8133... Generator Loss: 0.2780
Epoch 1/1... Steps 2120     Discriminator Loss: 1.3448... Generator Loss: 0.7119
Epoch 1/1... Steps 2130     Discriminator Loss: 1.4174... Generator Loss: 0.4691
Epoch 1/1... Steps 2140     Discriminator Loss: 1.2281... Generator Loss: 1.0186
Epoch 1/1... Steps 2150     Discriminator Loss: 2.3495... Generator Loss: 2.5873
Epoch 1/1... Steps 2160     Discriminator Loss: 1.4276... Generator Loss: 0.8223
Epoch 1/1... Steps 2170     Discriminator Loss: 1.3709... Generator Loss: 0.7750
Epoch 1/1... Steps 2180     Discriminator Loss: 1.3346... Generator Loss: 0.7734
Epoch 1/1... Steps 2190     Discriminator Loss: 1.3987... Generator Loss: 0.6109
Epoch 1/1... Steps 2200     Discriminator Loss: 1.3365... Generator Loss: 0.8924
Epoch 1/1... Steps 2210     Discriminator Loss: 1.1867... Generator Loss: 0.8643
Epoch 1/1... Steps 2220     Discriminator Loss: 0.7894... Generator Loss: 1.1664
Epoch 1/1... Steps 2230     Discriminator Loss: 1.2795... Generator Loss: 1.0716
Epoch 1/1... Steps 2240     Discriminator Loss: 1.4761... Generator Loss: 0.7591
Epoch 1/1... Steps 2250     Discriminator Loss: 1.2859... Generator Loss: 0.7610
Epoch 1/1... Steps 2260     Discriminator Loss: 1.4573... Generator Loss: 0.5534
Epoch 1/1... Steps 2270     Discriminator Loss: 1.0314... Generator Loss: 0.9448
Epoch 1/1... Steps 2280     Discriminator Loss: 1.4868... Generator Loss: 0.8336
Epoch 1/1... Steps 2290     Discriminator Loss: 1.3395... Generator Loss: 0.7199
Epoch 1/1... Steps 2300     Discriminator Loss: 1.0008... Generator Loss: 0.9728
Epoch 1/1... Steps 2310     Discriminator Loss: 1.2035... Generator Loss: 1.0394
Epoch 1/1... Steps 2320     Discriminator Loss: 1.3894... Generator Loss: 0.6376
Epoch 1/1... Steps 2330     Discriminator Loss: 1.5288... Generator Loss: 0.8601
Epoch 1/1... Steps 2340     Discriminator Loss: 1.2497... Generator Loss: 0.6978
Epoch 1/1... Steps 2350     Discriminator Loss: 0.9719... Generator Loss: 0.8778
Epoch 1/1... Steps 2360     Discriminator Loss: 1.2559... Generator Loss: 0.9428
Epoch 1/1... Steps 2370     Discriminator Loss: 1.5533... Generator Loss: 0.7987
Epoch 1/1... Steps 2380     Discriminator Loss: 0.9583... Generator Loss: 0.9309
Epoch 1/1... Steps 2390     Discriminator Loss: 1.5438... Generator Loss: 1.6158
Epoch 1/1... Steps 2400     Discriminator Loss: 0.9991... Generator Loss: 0.8895
Epoch 1/1... Steps 2410     Discriminator Loss: 1.7924... Generator Loss: 1.8647
Epoch 1/1... Steps 2420     Discriminator Loss: 1.3915... Generator Loss: 0.6100
Epoch 1/1... Steps 2430     Discriminator Loss: 1.3742... Generator Loss: 0.9671
Epoch 1/1... Steps 2440     Discriminator Loss: 1.2608... Generator Loss: 1.2134
Epoch 1/1... Steps 2450     Discriminator Loss: 0.9209... Generator Loss: 1.7801
Epoch 1/1... Steps 2460     Discriminator Loss: 1.4456... Generator Loss: 0.7188
Epoch 1/1... Steps 2470     Discriminator Loss: 1.4106... Generator Loss: 0.6687
Epoch 1/1... Steps 2480     Discriminator Loss: 1.4577... Generator Loss: 0.6621
Epoch 1/1... Steps 2490     Discriminator Loss: 1.3185... Generator Loss: 1.0560
Epoch 1/1... Steps 2500     Discriminator Loss: 1.3818... Generator Loss: 0.8604
Epoch 1/1... Steps 2510     Discriminator Loss: 1.3539... Generator Loss: 0.9162
Epoch 1/1... Steps 2520     Discriminator Loss: 1.3575... Generator Loss: 0.6863
Epoch 1/1... Steps 2530     Discriminator Loss: 1.5105... Generator Loss: 0.8052
Epoch 1/1... Steps 2540     Discriminator Loss: 1.2103... Generator Loss: 0.7803
Epoch 1/1... Steps 2550     Discriminator Loss: 1.0849... Generator Loss: 1.9450
Epoch 1/1... Steps 2560     Discriminator Loss: 1.0073... Generator Loss: 0.8962
Epoch 1/1... Steps 2570     Discriminator Loss: 1.3818... Generator Loss: 0.4740
Epoch 1/1... Steps 2580     Discriminator Loss: 1.6306... Generator Loss: 0.3855
Epoch 1/1... Steps 2590     Discriminator Loss: 1.1013... Generator Loss: 0.8641
Epoch 1/1... Steps 2600     Discriminator Loss: 0.9983... Generator Loss: 0.9557
Epoch 1/1... Steps 2610     Discriminator Loss: 1.1347... Generator Loss: 0.9714
Epoch 1/1... Steps 2620     Discriminator Loss: 1.3602... Generator Loss: 0.9040
Epoch 1/1... Steps 2630     Discriminator Loss: 1.3478... Generator Loss: 0.6404
Epoch 1/1... Steps 2640     Discriminator Loss: 1.5575... Generator Loss: 0.6553
Epoch 1/1... Steps 2650     Discriminator Loss: 1.2834... Generator Loss: 0.8638
Epoch 1/1... Steps 2660     Discriminator Loss: 1.1505... Generator Loss: 0.7984
Epoch 1/1... Steps 2670     Discriminator Loss: 1.2730... Generator Loss: 0.8321
Epoch 1/1... Steps 2680     Discriminator Loss: 1.2524... Generator Loss: 0.7623
Epoch 1/1... Steps 2690     Discriminator Loss: 1.4362... Generator Loss: 0.7049
Epoch 1/1... Steps 2700     Discriminator Loss: 1.5592... Generator Loss: 0.5024
Epoch 1/1... Steps 2710     Discriminator Loss: 1.4601... Generator Loss: 0.7077
Epoch 1/1... Steps 2720     Discriminator Loss: 1.3175... Generator Loss: 0.8979
Epoch 1/1... Steps 2730     Discriminator Loss: 1.3430... Generator Loss: 0.7574
Epoch 1/1... Steps 2740     Discriminator Loss: 1.4508... Generator Loss: 1.0009
Epoch 1/1... Steps 2750     Discriminator Loss: 1.3699... Generator Loss: 0.9640
Epoch 1/1... Steps 2760     Discriminator Loss: 1.0037... Generator Loss: 0.8139
Epoch 1/1... Steps 2770     Discriminator Loss: 1.4045... Generator Loss: 0.7776
Epoch 1/1... Steps 2780     Discriminator Loss: 1.2689... Generator Loss: 0.8827
Epoch 1/1... Steps 2790     Discriminator Loss: 1.1829... Generator Loss: 0.8216
Epoch 1/1... Steps 2800     Discriminator Loss: 1.3201... Generator Loss: 0.9636
Epoch 1/1... Steps 2810     Discriminator Loss: 1.3575... Generator Loss: 0.7010
Epoch 1/1... Steps 2820     Discriminator Loss: 1.4229... Generator Loss: 0.4488
Epoch 1/1... Steps 2830     Discriminator Loss: 1.2659... Generator Loss: 0.8333
Epoch 1/1... Steps 2840     Discriminator Loss: 1.2282... Generator Loss: 0.7760
Epoch 1/1... Steps 2850     Discriminator Loss: 1.5538... Generator Loss: 1.6905
Epoch 1/1... Steps 2860     Discriminator Loss: 1.4710... Generator Loss: 2.3512
Epoch 1/1... Steps 2870     Discriminator Loss: 1.2294... Generator Loss: 0.8017
Epoch 1/1... Steps 2880     Discriminator Loss: 1.3136... Generator Loss: 0.6223
Epoch 1/1... Steps 2890     Discriminator Loss: 1.3766... Generator Loss: 0.8240
Epoch 1/1... Steps 2900     Discriminator Loss: 1.1753... Generator Loss: 0.9028
Epoch 1/1... Steps 2910     Discriminator Loss: 1.3412... Generator Loss: 0.9284
Epoch 1/1... Steps 2920     Discriminator Loss: 1.2752... Generator Loss: 0.7471
Epoch 1/1... Steps 2930     Discriminator Loss: 1.3202... Generator Loss: 0.7582
Epoch 1/1... Steps 2940     Discriminator Loss: 1.3148... Generator Loss: 0.7629
Epoch 1/1... Steps 2950     Discriminator Loss: 1.4448... Generator Loss: 0.4005
Epoch 1/1... Steps 2960     Discriminator Loss: 1.4180... Generator Loss: 0.9958
Epoch 1/1... Steps 2970     Discriminator Loss: 1.4013... Generator Loss: 0.8949
Epoch 1/1... Steps 2980     Discriminator Loss: 1.2054... Generator Loss: 0.9673
Epoch 1/1... Steps 2990     Discriminator Loss: 1.4663... Generator Loss: 0.6947
Epoch 1/1... Steps 3000     Discriminator Loss: 1.2914... Generator Loss: 0.5725
Epoch 1/1... Steps 3010     Discriminator Loss: 0.7480... Generator Loss: 1.5967
Epoch 1/1... Steps 3020     Discriminator Loss: 1.2469... Generator Loss: 0.7442
Epoch 1/1... Steps 3030     Discriminator Loss: 1.2572... Generator Loss: 0.9788
Epoch 1/1... Steps 3040     Discriminator Loss: 1.3673... Generator Loss: 0.5720
Epoch 1/1... Steps 3050     Discriminator Loss: 1.2848... Generator Loss: 0.7212
Epoch 1/1... Steps 3060     Discriminator Loss: 1.6180... Generator Loss: 0.3805
Epoch 1/1... Steps 3070     Discriminator Loss: 1.0476... Generator Loss: 1.8029
Epoch 1/1... Steps 3080     Discriminator Loss: 1.2658... Generator Loss: 0.8724
Epoch 1/1... Steps 3090     Discriminator Loss: 1.7926... Generator Loss: 0.3725
Epoch 1/1... Steps 3100     Discriminator Loss: 1.5846... Generator Loss: 0.4445
Epoch 1/1... Steps 3110     Discriminator Loss: 1.3562... Generator Loss: 0.9910
Epoch 1/1... Steps 3120     Discriminator Loss: 1.3602... Generator Loss: 0.6918
Epoch 1/1... Steps 3130     Discriminator Loss: 1.3102... Generator Loss: 0.9203
Epoch 1/1... Steps 3140     Discriminator Loss: 1.2756... Generator Loss: 0.8960
Epoch 1/1... Steps 3150     Discriminator Loss: 0.8700... Generator Loss: 1.5493
Epoch 1/1... Steps 3160     Discriminator Loss: 0.7236... Generator Loss: 1.5162
Epoch 1/1... Steps 3170     Discriminator Loss: 1.0666... Generator Loss: 2.5451
Epoch 1/1... Steps 3180     Discriminator Loss: 1.0435... Generator Loss: 1.2323
Epoch 1/1... Steps 3190     Discriminator Loss: 1.2190... Generator Loss: 0.9908
Epoch 1/1... Steps 3200     Discriminator Loss: 1.3709... Generator Loss: 0.9067
Epoch 1/1... Steps 3210     Discriminator Loss: 1.2853... Generator Loss: 0.8063
Epoch 1/1... Steps 3220     Discriminator Loss: 1.3314... Generator Loss: 0.7930
Epoch 1/1... Steps 3230     Discriminator Loss: 0.6305... Generator Loss: 2.1524
Epoch 1/1... Steps 3240     Discriminator Loss: 0.8302... Generator Loss: 1.2604
Epoch 1/1... Steps 3250     Discriminator Loss: 1.2718... Generator Loss: 0.8512
Epoch 1/1... Steps 3260     Discriminator Loss: 1.2909... Generator Loss: 0.8330
Epoch 1/1... Steps 3270     Discriminator Loss: 1.3928... Generator Loss: 0.7517
Epoch 1/1... Steps 3280     Discriminator Loss: 1.2521... Generator Loss: 0.7015
Epoch 1/1... Steps 3290     Discriminator Loss: 0.9446... Generator Loss: 1.1385
Epoch 1/1... Steps 3300     Discriminator Loss: 0.8967... Generator Loss: 1.0070
Epoch 1/1... Steps 3310     Discriminator Loss: 1.3641... Generator Loss: 0.6010
Epoch 1/1... Steps 3320     Discriminator Loss: 0.8585... Generator Loss: 2.4726
Epoch 1/1... Steps 3330     Discriminator Loss: 1.5735... Generator Loss: 0.6654
Epoch 1/1... Steps 3340     Discriminator Loss: 1.5054... Generator Loss: 0.6178
Epoch 1/1... Steps 3350     Discriminator Loss: 1.4114... Generator Loss: 0.8844
Epoch 1/1... Steps 3360     Discriminator Loss: 1.3721... Generator Loss: 0.7009
Epoch 1/1... Steps 3370     Discriminator Loss: 1.4083... Generator Loss: 0.6557
Epoch 1/1... Steps 3380     Discriminator Loss: 1.3887... Generator Loss: 0.6884
Epoch 1/1... Steps 3390     Discriminator Loss: 1.4005... Generator Loss: 0.7813
Epoch 1/1... Steps 3400     Discriminator Loss: 1.4308... Generator Loss: 0.7627
Epoch 1/1... Steps 3410     Discriminator Loss: 1.3393... Generator Loss: 0.8443
Epoch 1/1... Steps 3420     Discriminator Loss: 1.3705... Generator Loss: 0.9140
Epoch 1/1... Steps 3430     Discriminator Loss: 1.2356... Generator Loss: 0.7138
Epoch 1/1... Steps 3440     Discriminator Loss: 1.2964... Generator Loss: 0.7283
Epoch 1/1... Steps 3450     Discriminator Loss: 1.2672... Generator Loss: 0.8724
Epoch 1/1... Steps 3460     Discriminator Loss: 1.2164... Generator Loss: 0.8121
Epoch 1/1... Steps 3470     Discriminator Loss: 1.3790... Generator Loss: 0.6901
Epoch 1/1... Steps 3480     Discriminator Loss: 1.2415... Generator Loss: 0.8078
Epoch 1/1... Steps 3490     Discriminator Loss: 1.2008... Generator Loss: 0.8810
Epoch 1/1... Steps 3500     Discriminator Loss: 1.3409... Generator Loss: 0.6894
Epoch 1/1... Steps 3510     Discriminator Loss: 1.1932... Generator Loss: 0.8404
Epoch 1/1... Steps 3520     Discriminator Loss: 1.3464... Generator Loss: 0.7925
Epoch 1/1... Steps 3530     Discriminator Loss: 1.2786... Generator Loss: 0.9574
Epoch 1/1... Steps 3540     Discriminator Loss: 1.3376... Generator Loss: 0.9735
Epoch 1/1... Steps 3550     Discriminator Loss: 1.3806... Generator Loss: 0.6022
Epoch 1/1... Steps 3560     Discriminator Loss: 1.3542... Generator Loss: 0.9178
Epoch 1/1... Steps 3570     Discriminator Loss: 1.2812... Generator Loss: 0.6451
Epoch 1/1... Steps 3580     Discriminator Loss: 1.2951... Generator Loss: 0.7336
Epoch 1/1... Steps 3590     Discriminator Loss: 1.3769... Generator Loss: 0.7586
Epoch 1/1... Steps 3600     Discriminator Loss: 1.3388... Generator Loss: 0.7256
Epoch 1/1... Steps 3610     Discriminator Loss: 1.3736... Generator Loss: 0.8833
Epoch 1/1... Steps 3620     Discriminator Loss: 1.2588... Generator Loss: 0.7429
Epoch 1/1... Steps 3630     Discriminator Loss: 1.3747... Generator Loss: 0.7777
Epoch 1/1... Steps 3640     Discriminator Loss: 1.3385... Generator Loss: 0.8324
Epoch 1/1... Steps 3650     Discriminator Loss: 1.2436... Generator Loss: 0.5672
Epoch 1/1... Steps 3660     Discriminator Loss: 1.1125... Generator Loss: 0.6647
Epoch 1/1... Steps 3670     Discriminator Loss: 1.4424... Generator Loss: 0.5573
Epoch 1/1... Steps 3680     Discriminator Loss: 1.4379... Generator Loss: 0.4996
Epoch 1/1... Steps 3690     Discriminator Loss: 1.3977... Generator Loss: 0.5230
Epoch 1/1... Steps 3700     Discriminator Loss: 1.3745... Generator Loss: 0.5984
Epoch 1/1... Steps 3710     Discriminator Loss: 1.1931... Generator Loss: 0.8417
Epoch 1/1... Steps 3720     Discriminator Loss: 1.2843... Generator Loss: 0.9919
Epoch 1/1... Steps 3730     Discriminator Loss: 1.0602... Generator Loss: 1.1024
Epoch 1/1... Steps 3740     Discriminator Loss: 1.4011... Generator Loss: 1.0796
Epoch 1/1... Steps 3750     Discriminator Loss: 1.0316... Generator Loss: 0.7584
Epoch 1/1... Steps 3760     Discriminator Loss: 1.0849... Generator Loss: 1.5370
Epoch 1/1... Steps 3770     Discriminator Loss: 1.0367... Generator Loss: 1.0158
Epoch 1/1... Steps 3780     Discriminator Loss: 1.1218... Generator Loss: 1.6392
Epoch 1/1... Steps 3790     Discriminator Loss: 1.0195... Generator Loss: 1.1392
Epoch 1/1... Steps 3800     Discriminator Loss: 1.2761... Generator Loss: 0.5615
Epoch 1/1... Steps 3810     Discriminator Loss: 1.2241... Generator Loss: 0.9668
Epoch 1/1... Steps 3820     Discriminator Loss: 1.4071... Generator Loss: 0.6285
Epoch 1/1... Steps 3830     Discriminator Loss: 1.3273... Generator Loss: 0.9283
Epoch 1/1... Steps 3840     Discriminator Loss: 1.3208... Generator Loss: 0.8182
Epoch 1/1... Steps 3850     Discriminator Loss: 1.3819... Generator Loss: 0.6057
Epoch 1/1... Steps 3860     Discriminator Loss: 1.2312... Generator Loss: 0.8662
Epoch 1/1... Steps 3870     Discriminator Loss: 1.2888... Generator Loss: 0.7202
Epoch 1/1... Steps 3880     Discriminator Loss: 1.3688... Generator Loss: 0.7233
Epoch 1/1... Steps 3890     Discriminator Loss: 1.2606... Generator Loss: 0.8411
Epoch 1/1... Steps 3900     Discriminator Loss: 1.2258... Generator Loss: 0.6150
Epoch 1/1... Steps 3910     Discriminator Loss: 1.3663... Generator Loss: 0.7897
Epoch 1/1... Steps 3920     Discriminator Loss: 1.4558... Generator Loss: 0.7255
Epoch 1/1... Steps 3930     Discriminator Loss: 1.1842... Generator Loss: 1.0531
Epoch 1/1... Steps 3940     Discriminator Loss: 1.4465... Generator Loss: 0.5991
Epoch 1/1... Steps 3950     Discriminator Loss: 1.4930... Generator Loss: 0.6755
Epoch 1/1... Steps 3960     Discriminator Loss: 1.2880... Generator Loss: 0.7717
Epoch 1/1... Steps 3970     Discriminator Loss: 1.2356... Generator Loss: 0.8391
Epoch 1/1... Steps 3980     Discriminator Loss: 1.3568... Generator Loss: 0.8505
Epoch 1/1... Steps 3990     Discriminator Loss: 1.4792... Generator Loss: 0.7009
Epoch 1/1... Steps 4000     Discriminator Loss: 1.2905... Generator Loss: 0.9514
Epoch 1/1... Steps 4010     Discriminator Loss: 1.2951... Generator Loss: 0.6753
Epoch 1/1... Steps 4020     Discriminator Loss: 1.2266... Generator Loss: 0.9084
Epoch 1/1... Steps 4030     Discriminator Loss: 1.8407... Generator Loss: 1.9776
Epoch 1/1... Steps 4040     Discriminator Loss: 1.1248... Generator Loss: 0.8404
Epoch 1/1... Steps 4050     Discriminator Loss: 1.0962... Generator Loss: 0.6270
Epoch 1/1... Steps 4060     Discriminator Loss: 1.1371... Generator Loss: 0.7355
Epoch 1/1... Steps 4070     Discriminator Loss: 0.9795... Generator Loss: 0.9375
Epoch 1/1... Steps 4080     Discriminator Loss: 1.3775... Generator Loss: 1.4140
Epoch 1/1... Steps 4090     Discriminator Loss: 1.5414... Generator Loss: 0.3997
Epoch 1/1... Steps 4100     Discriminator Loss: 1.1999... Generator Loss: 0.8931
Epoch 1/1... Steps 4110     Discriminator Loss: 1.2297... Generator Loss: 1.5523
Epoch 1/1... Steps 4120     Discriminator Loss: 1.3899... Generator Loss: 0.6841
Epoch 1/1... Steps 4130     Discriminator Loss: 1.6309... Generator Loss: 1.6286
Epoch 1/1... Steps 4140     Discriminator Loss: 1.3927... Generator Loss: 0.8975
Epoch 1/1... Steps 4150     Discriminator Loss: 1.2230... Generator Loss: 0.9268
Epoch 1/1... Steps 4160     Discriminator Loss: 1.3505... Generator Loss: 0.6850
Epoch 1/1... Steps 4170     Discriminator Loss: 1.2453... Generator Loss: 0.7870
Epoch 1/1... Steps 4180     Discriminator Loss: 1.3747... Generator Loss: 0.9017
Epoch 1/1... Steps 4190     Discriminator Loss: 1.2027... Generator Loss: 0.7890
Epoch 1/1... Steps 4200     Discriminator Loss: 1.3077... Generator Loss: 0.7131
Epoch 1/1... Steps 4210     Discriminator Loss: 1.2487... Generator Loss: 1.4780
Epoch 1/1... Steps 4220     Discriminator Loss: 1.1027... Generator Loss: 1.3073
Epoch 1/1... Steps 4230     Discriminator Loss: 1.4321... Generator Loss: 1.3507
Epoch 1/1... Steps 4240     Discriminator Loss: 0.8851... Generator Loss: 1.0212
Epoch 1/1... Steps 4250     Discriminator Loss: 1.2118... Generator Loss: 0.8420
Epoch 1/1... Steps 4260     Discriminator Loss: 1.7763... Generator Loss: 0.3643
Epoch 1/1... Steps 4270     Discriminator Loss: 1.0623... Generator Loss: 0.8730
Epoch 1/1... Steps 4280     Discriminator Loss: 1.4368... Generator Loss: 0.6975
Epoch 1/1... Steps 4290     Discriminator Loss: 1.9141... Generator Loss: 1.9328
Epoch 1/1... Steps 4300     Discriminator Loss: 1.2388... Generator Loss: 0.8452
Epoch 1/1... Steps 4310     Discriminator Loss: 1.2933... Generator Loss: 0.8494
Epoch 1/1... Steps 4320     Discriminator Loss: 1.3243... Generator Loss: 0.8323
Epoch 1/1... Steps 4330     Discriminator Loss: 1.2837... Generator Loss: 0.8882
Epoch 1/1... Steps 4340     Discriminator Loss: 1.2122... Generator Loss: 0.8753
Epoch 1/1... Steps 4350     Discriminator Loss: 1.3251... Generator Loss: 0.9231
Epoch 1/1... Steps 4360     Discriminator Loss: 1.4238... Generator Loss: 0.8693
Epoch 1/1... Steps 4370     Discriminator Loss: 1.2557... Generator Loss: 0.8110
Epoch 1/1... Steps 4380     Discriminator Loss: 1.2764... Generator Loss: 0.8884
Epoch 1/1... Steps 4390     Discriminator Loss: 1.2842... Generator Loss: 0.6633
Epoch 1/1... Steps 4400     Discriminator Loss: 1.4111... Generator Loss: 1.0280
Epoch 1/1... Steps 4410     Discriminator Loss: 1.4232... Generator Loss: 0.5586
Epoch 1/1... Steps 4420     Discriminator Loss: 1.5690... Generator Loss: 0.5316
Epoch 1/1... Steps 4430     Discriminator Loss: 1.3164... Generator Loss: 0.7981
Epoch 1/1... Steps 4440     Discriminator Loss: 0.7694... Generator Loss: 1.2866
Epoch 1/1... Steps 4450     Discriminator Loss: 1.2888... Generator Loss: 0.6009
Epoch 1/1... Steps 4460     Discriminator Loss: 1.5349... Generator Loss: 1.0602
Epoch 1/1... Steps 4470     Discriminator Loss: 1.4811... Generator Loss: 0.6543
Epoch 1/1... Steps 4480     Discriminator Loss: 1.2789... Generator Loss: 1.0030
Epoch 1/1... Steps 4490     Discriminator Loss: 1.4511... Generator Loss: 0.8198
Epoch 1/1... Steps 4500     Discriminator Loss: 1.2641... Generator Loss: 0.9341
Epoch 1/1... Steps 4510     Discriminator Loss: 1.2352... Generator Loss: 0.7363
Epoch 1/1... Steps 4520     Discriminator Loss: 1.3328... Generator Loss: 0.8573
Epoch 1/1... Steps 4530     Discriminator Loss: 1.2745... Generator Loss: 1.0045
Epoch 1/1... Steps 4540     Discriminator Loss: 1.1870... Generator Loss: 0.9296
Epoch 1/1... Steps 4550     Discriminator Loss: 1.4966... Generator Loss: 0.5438
Epoch 1/1... Steps 4560     Discriminator Loss: 1.4406... Generator Loss: 0.7451
Epoch 1/1... Steps 4570     Discriminator Loss: 1.2892... Generator Loss: 0.8284
Epoch 1/1... Steps 4580     Discriminator Loss: 1.3574... Generator Loss: 0.7230
Epoch 1/1... Steps 4590     Discriminator Loss: 1.2309... Generator Loss: 0.9269
Epoch 1/1... Steps 4600     Discriminator Loss: 1.4858... Generator Loss: 0.8349
Epoch 1/1... Steps 4610     Discriminator Loss: 1.3382... Generator Loss: 0.6589
Epoch 1/1... Steps 4620     Discriminator Loss: 1.3523... Generator Loss: 0.8435
Epoch 1/1... Steps 4630     Discriminator Loss: 1.2853... Generator Loss: 0.7474
Epoch 1/1... Steps 4640     Discriminator Loss: 1.2806... Generator Loss: 0.8267
Epoch 1/1... Steps 4650     Discriminator Loss: 1.3336... Generator Loss: 0.7734
Epoch 1/1... Steps 4660     Discriminator Loss: 1.2641... Generator Loss: 0.7871
Epoch 1/1... Steps 4670     Discriminator Loss: 1.3264... Generator Loss: 0.7820
Epoch 1/1... Steps 4680     Discriminator Loss: 1.5002... Generator Loss: 0.7924
Epoch 1/1... Steps 4690     Discriminator Loss: 1.3914... Generator Loss: 0.6361
Epoch 1/1... Steps 4700     Discriminator Loss: 1.3108... Generator Loss: 0.8778
Epoch 1/1... Steps 4710     Discriminator Loss: 1.3285... Generator Loss: 0.8141
Epoch 1/1... Steps 4720     Discriminator Loss: 1.4269... Generator Loss: 0.7711
Epoch 1/1... Steps 4730     Discriminator Loss: 1.3555... Generator Loss: 0.7484
Epoch 1/1... Steps 4740     Discriminator Loss: 1.2137... Generator Loss: 0.8183
Epoch 1/1... Steps 4750     Discriminator Loss: 1.2942... Generator Loss: 0.8175
Epoch 1/1... Steps 4760     Discriminator Loss: 1.2965... Generator Loss: 0.7003
Epoch 1/1... Steps 4770     Discriminator Loss: 1.3902... Generator Loss: 0.7177
Epoch 1/1... Steps 4780     Discriminator Loss: 1.3011... Generator Loss: 0.9190
Epoch 1/1... Steps 4790     Discriminator Loss: 1.3351... Generator Loss: 0.5681
Epoch 1/1... Steps 4800     Discriminator Loss: 1.3356... Generator Loss: 0.8619
Epoch 1/1... Steps 4810     Discriminator Loss: 1.2866... Generator Loss: 0.8859
Epoch 1/1... Steps 4820     Discriminator Loss: 1.4495... Generator Loss: 0.8083
Epoch 1/1... Steps 4830     Discriminator Loss: 1.3264... Generator Loss: 0.8328
Epoch 1/1... Steps 4840     Discriminator Loss: 1.3928... Generator Loss: 0.5885
Epoch 1/1... Steps 4850     Discriminator Loss: 1.3463... Generator Loss: 0.7622
Epoch 1/1... Steps 4860     Discriminator Loss: 1.4079... Generator Loss: 0.6556
Epoch 1/1... Steps 4870     Discriminator Loss: 1.3115... Generator Loss: 0.8625
Epoch 1/1... Steps 4880     Discriminator Loss: 1.4416... Generator Loss: 0.6695
Epoch 1/1... Steps 4890     Discriminator Loss: 1.3335... Generator Loss: 0.7436
Epoch 1/1... Steps 4900     Discriminator Loss: 1.2666... Generator Loss: 0.8293
Epoch 1/1... Steps 4910     Discriminator Loss: 1.2627... Generator Loss: 0.8343
Epoch 1/1... Steps 4920     Discriminator Loss: 1.3300... Generator Loss: 0.8058
Epoch 1/1... Steps 4930     Discriminator Loss: 1.3518... Generator Loss: 0.8000
Epoch 1/1... Steps 4940     Discriminator Loss: 1.1928... Generator Loss: 0.9087
Epoch 1/1... Steps 4950     Discriminator Loss: 1.4435... Generator Loss: 0.7178
Epoch 1/1... Steps 4960     Discriminator Loss: 1.3577... Generator Loss: 0.5686
Epoch 1/1... Steps 4970     Discriminator Loss: 1.3633... Generator Loss: 0.7890
Epoch 1/1... Steps 4980     Discriminator Loss: 1.3800... Generator Loss: 0.7973
Epoch 1/1... Steps 4990     Discriminator Loss: 1.3032... Generator Loss: 0.8752
Epoch 1/1... Steps 5000     Discriminator Loss: 1.3670... Generator Loss: 0.6534
Epoch 1/1... Steps 5010     Discriminator Loss: 1.3666... Generator Loss: 0.8125
Epoch 1/1... Steps 5020     Discriminator Loss: 1.3824... Generator Loss: 0.7667
Epoch 1/1... Steps 5030     Discriminator Loss: 1.3605... Generator Loss: 0.8578
Epoch 1/1... Steps 5040     Discriminator Loss: 1.2463... Generator Loss: 0.8126
Epoch 1/1... Steps 5050     Discriminator Loss: 1.2974... Generator Loss: 0.8663
Epoch 1/1... Steps 5060     Discriminator Loss: 1.2301... Generator Loss: 0.8133
Epoch 1/1... Steps 5070     Discriminator Loss: 1.3780... Generator Loss: 0.8106
Epoch 1/1... Steps 5080     Discriminator Loss: 1.3683... Generator Loss: 0.6686
Epoch 1/1... Steps 5090     Discriminator Loss: 1.3550... Generator Loss: 0.7238
Epoch 1/1... Steps 5100     Discriminator Loss: 1.2929... Generator Loss: 0.8505
Epoch 1/1... Steps 5110     Discriminator Loss: 1.3450... Generator Loss: 0.5920
Epoch 1/1... Steps 5120     Discriminator Loss: 1.3216... Generator Loss: 0.7140
Epoch 1/1... Steps 5130     Discriminator Loss: 1.2980... Generator Loss: 0.7110
Epoch 1/1... Steps 5140     Discriminator Loss: 1.3361... Generator Loss: 0.8236
Epoch 1/1... Steps 5150     Discriminator Loss: 1.3877... Generator Loss: 0.8697
Epoch 1/1... Steps 5160     Discriminator Loss: 1.4184... Generator Loss: 0.6865
Epoch 1/1... Steps 5170     Discriminator Loss: 1.2974... Generator Loss: 0.7887
Epoch 1/1... Steps 5180     Discriminator Loss: 1.2513... Generator Loss: 0.7989
Epoch 1/1... Steps 5190     Discriminator Loss: 1.4227... Generator Loss: 0.6130
Epoch 1/1... Steps 5200     Discriminator Loss: 1.3387... Generator Loss: 0.7994
Epoch 1/1... Steps 5210     Discriminator Loss: 1.3716... Generator Loss: 0.7230
Epoch 1/1... Steps 5220     Discriminator Loss: 1.2272... Generator Loss: 0.7416
Epoch 1/1... Steps 5230     Discriminator Loss: 1.3640... Generator Loss: 0.7467
Epoch 1/1... Steps 5240     Discriminator Loss: 1.2178... Generator Loss: 0.7795
Epoch 1/1... Steps 5250     Discriminator Loss: 1.6432... Generator Loss: 0.4071
Epoch 1/1... Steps 5260     Discriminator Loss: 1.1826... Generator Loss: 1.0644
Epoch 1/1... Steps 5270     Discriminator Loss: 0.9830... Generator Loss: 1.2606
Epoch 1/1... Steps 5280     Discriminator Loss: 1.5884... Generator Loss: 1.8176
Epoch 1/1... Steps 5290     Discriminator Loss: 1.2914... Generator Loss: 1.2018
Epoch 1/1... Steps 5300     Discriminator Loss: 1.4066... Generator Loss: 0.6788
Epoch 1/1... Steps 5310     Discriminator Loss: 1.2959... Generator Loss: 0.7129
Epoch 1/1... Steps 5320     Discriminator Loss: 1.2489... Generator Loss: 0.7940
Epoch 1/1... Steps 5330     Discriminator Loss: 1.3051... Generator Loss: 0.9011
Epoch 1/1... Steps 5340     Discriminator Loss: 1.3205... Generator Loss: 1.0859
Epoch 1/1... Steps 5350     Discriminator Loss: 1.2397... Generator Loss: 0.8208
Epoch 1/1... Steps 5360     Discriminator Loss: 1.2488... Generator Loss: 0.8416
Epoch 1/1... Steps 5370     Discriminator Loss: 1.1960... Generator Loss: 0.8988
Epoch 1/1... Steps 5380     Discriminator Loss: 1.3370... Generator Loss: 0.7136
Epoch 1/1... Steps 5390     Discriminator Loss: 1.2656... Generator Loss: 0.9942
Epoch 1/1... Steps 5400     Discriminator Loss: 1.3652... Generator Loss: 0.7793
Epoch 1/1... Steps 5410     Discriminator Loss: 1.3967... Generator Loss: 0.7040
Epoch 1/1... Steps 5420     Discriminator Loss: 1.3288... Generator Loss: 0.8194
Epoch 1/1... Steps 5430     Discriminator Loss: 1.3482... Generator Loss: 0.8654
Epoch 1/1... Steps 5440     Discriminator Loss: 1.3325... Generator Loss: 0.7961
Epoch 1/1... Steps 5450     Discriminator Loss: 1.2648... Generator Loss: 0.8006
Epoch 1/1... Steps 5460     Discriminator Loss: 1.4932... Generator Loss: 0.5503
Epoch 1/1... Steps 5470     Discriminator Loss: 1.5041... Generator Loss: 0.5800
Epoch 1/1... Steps 5480     Discriminator Loss: 1.3420... Generator Loss: 0.6568
Epoch 1/1... Steps 5490     Discriminator Loss: 1.4397... Generator Loss: 0.7173
Epoch 1/1... Steps 5500     Discriminator Loss: 1.3809... Generator Loss: 0.8749
Epoch 1/1... Steps 5510     Discriminator Loss: 1.3421... Generator Loss: 0.7922
Epoch 1/1... Steps 5520     Discriminator Loss: 1.3064... Generator Loss: 0.6794
Epoch 1/1... Steps 5530     Discriminator Loss: 1.3426... Generator Loss: 0.9759
Epoch 1/1... Steps 5540     Discriminator Loss: 1.2928... Generator Loss: 0.9962
Epoch 1/1... Steps 5550     Discriminator Loss: 1.2932... Generator Loss: 0.6542
Epoch 1/1... Steps 5560     Discriminator Loss: 1.3187... Generator Loss: 1.0976
Epoch 1/1... Steps 5570     Discriminator Loss: 1.3659... Generator Loss: 0.5546
Epoch 1/1... Steps 5580     Discriminator Loss: 1.3172... Generator Loss: 0.6926
Epoch 1/1... Steps 5590     Discriminator Loss: 1.4008... Generator Loss: 0.6462
Epoch 1/1... Steps 5600     Discriminator Loss: 1.2768... Generator Loss: 0.7814
Epoch 1/1... Steps 5610     Discriminator Loss: 1.4007... Generator Loss: 0.8445
Epoch 1/1... Steps 5620     Discriminator Loss: 1.4224... Generator Loss: 0.5697
Epoch 1/1... Steps 5630     Discriminator Loss: 1.2557... Generator Loss: 0.7487
Epoch 1/1... Steps 5640     Discriminator Loss: 1.4139... Generator Loss: 0.6067
Epoch 1/1... Steps 5650     Discriminator Loss: 1.2704... Generator Loss: 0.8816
Epoch 1/1... Steps 5660     Discriminator Loss: 1.3387... Generator Loss: 0.7426
Epoch 1/1... Steps 5670     Discriminator Loss: 1.3979... Generator Loss: 0.8049
Epoch 1/1... Steps 5680     Discriminator Loss: 1.1929... Generator Loss: 0.7993
Epoch 1/1... Steps 5690     Discriminator Loss: 1.4433... Generator Loss: 0.8086
Epoch 1/1... Steps 5700     Discriminator Loss: 1.1801... Generator Loss: 0.8497
Epoch 1/1... Steps 5710     Discriminator Loss: 1.2745... Generator Loss: 0.9004
Epoch 1/1... Steps 5720     Discriminator Loss: 1.2858... Generator Loss: 0.7165
Epoch 1/1... Steps 5730     Discriminator Loss: 1.2980... Generator Loss: 0.7562
Epoch 1/1... Steps 5740     Discriminator Loss: 1.3304... Generator Loss: 0.8848
Epoch 1/1... Steps 5750     Discriminator Loss: 1.2347... Generator Loss: 0.8372
Epoch 1/1... Steps 5760     Discriminator Loss: 1.3183... Generator Loss: 1.0080
Epoch 1/1... Steps 5770     Discriminator Loss: 1.2966... Generator Loss: 0.6827
Epoch 1/1... Steps 5780     Discriminator Loss: 1.3447... Generator Loss: 0.6965
Epoch 1/1... Steps 5790     Discriminator Loss: 1.2773... Generator Loss: 0.8969
Epoch 1/1... Steps 5800     Discriminator Loss: 1.3450... Generator Loss: 0.6686
Epoch 1/1... Steps 5810     Discriminator Loss: 1.2937... Generator Loss: 0.7874
Epoch 1/1... Steps 5820     Discriminator Loss: 1.3758... Generator Loss: 0.7177
Epoch 1/1... Steps 5830     Discriminator Loss: 1.2316... Generator Loss: 0.7926
Epoch 1/1... Steps 5840     Discriminator Loss: 1.3077... Generator Loss: 0.7486
Epoch 1/1... Steps 5850     Discriminator Loss: 1.3306... Generator Loss: 0.8959
Epoch 1/1... Steps 5860     Discriminator Loss: 1.3842... Generator Loss: 1.0045
Epoch 1/1... Steps 5870     Discriminator Loss: 0.8189... Generator Loss: 1.7162
Epoch 1/1... Steps 5880     Discriminator Loss: 0.9563... Generator Loss: 1.2089
Epoch 1/1... Steps 5890     Discriminator Loss: 1.3928... Generator Loss: 0.7830
Epoch 1/1... Steps 5900     Discriminator Loss: 1.3194... Generator Loss: 0.7942
Epoch 1/1... Steps 5910     Discriminator Loss: 1.3120... Generator Loss: 0.6895
Epoch 1/1... Steps 5920     Discriminator Loss: 1.4332... Generator Loss: 0.6768
Epoch 1/1... Steps 5930     Discriminator Loss: 1.3970... Generator Loss: 0.6278
Epoch 1/1... Steps 5940     Discriminator Loss: 1.4396... Generator Loss: 0.7049
Epoch 1/1... Steps 5950     Discriminator Loss: 1.3155... Generator Loss: 0.7527
Epoch 1/1... Steps 5960     Discriminator Loss: 1.3143... Generator Loss: 0.8108
Epoch 1/1... Steps 5970     Discriminator Loss: 1.3725... Generator Loss: 0.7948
Epoch 1/1... Steps 5980     Discriminator Loss: 1.3067... Generator Loss: 0.9311
Epoch 1/1... Steps 5990     Discriminator Loss: 1.2700... Generator Loss: 0.8009
Epoch 1/1... Steps 6000     Discriminator Loss: 1.3592... Generator Loss: 0.6504
Epoch 1/1... Steps 6010     Discriminator Loss: 1.4325... Generator Loss: 0.6830
Epoch 1/1... Steps 6020     Discriminator Loss: 1.3345... Generator Loss: 0.7708
Epoch 1/1... Steps 6030     Discriminator Loss: 1.3330... Generator Loss: 0.8733
Epoch 1/1... Steps 6040     Discriminator Loss: 1.2799... Generator Loss: 0.8978
Epoch 1/1... Steps 6050     Discriminator Loss: 1.4660... Generator Loss: 0.6006
Epoch 1/1... Steps 6060     Discriminator Loss: 1.2513... Generator Loss: 0.8071
Epoch 1/1... Steps 6070     Discriminator Loss: 1.3907... Generator Loss: 0.7320
Epoch 1/1... Steps 6080     Discriminator Loss: 1.7284... Generator Loss: 0.3086
Epoch 1/1... Steps 6090     Discriminator Loss: 1.3561... Generator Loss: 0.7672
Epoch 1/1... Steps 6100     Discriminator Loss: 1.3684... Generator Loss: 0.7079
Epoch 1/1... Steps 6110     Discriminator Loss: 1.4076... Generator Loss: 0.6599
Epoch 1/1... Steps 6120     Discriminator Loss: 1.3174... Generator Loss: 0.7605
Epoch 1/1... Steps 6130     Discriminator Loss: 1.3164... Generator Loss: 0.9228
Epoch 1/1... Steps 6140     Discriminator Loss: 1.3820... Generator Loss: 0.7177
Epoch 1/1... Steps 6150     Discriminator Loss: 1.3182... Generator Loss: 0.8129
Epoch 1/1... Steps 6160     Discriminator Loss: 1.3029... Generator Loss: 0.9130
Epoch 1/1... Steps 6170     Discriminator Loss: 1.3970... Generator Loss: 0.7238
Epoch 1/1... Steps 6180     Discriminator Loss: 1.2899... Generator Loss: 0.8137
Epoch 1/1... Steps 6190     Discriminator Loss: 1.2389... Generator Loss: 0.7292
Epoch 1/1... Steps 6200     Discriminator Loss: 1.4493... Generator Loss: 0.7048
Epoch 1/1... Steps 6210     Discriminator Loss: 1.3887... Generator Loss: 0.7239
Epoch 1/1... Steps 6220     Discriminator Loss: 1.2845... Generator Loss: 0.8716
Epoch 1/1... Steps 6230     Discriminator Loss: 1.2229... Generator Loss: 0.7259
Epoch 1/1... Steps 6240     Discriminator Loss: 1.3087... Generator Loss: 0.8415
Epoch 1/1... Steps 6250     Discriminator Loss: 1.2508... Generator Loss: 0.8662
Epoch 1/1... Steps 6260     Discriminator Loss: 1.3099... Generator Loss: 0.8158
Epoch 1/1... Steps 6270     Discriminator Loss: 1.3443... Generator Loss: 0.6902
Epoch 1/1... Steps 6280     Discriminator Loss: 1.4508... Generator Loss: 0.9124
Epoch 1/1... Steps 6290     Discriminator Loss: 1.3265... Generator Loss: 0.7376
Epoch 1/1... Steps 6300     Discriminator Loss: 1.2885... Generator Loss: 1.0665
Epoch 1/1... Steps 6310     Discriminator Loss: 1.3591... Generator Loss: 0.6252
Epoch 1/1... Steps 6320     Discriminator Loss: 1.2158... Generator Loss: 1.0914
Epoch 1/1... Steps 6330     Discriminator Loss: 1.2899... Generator Loss: 0.9651

Submitting This Project

When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.